flash.utils 패키지에는, 코드 실행의 타이밍 조정, 클래스 및 object에 관한 정보의 취득, 및 이스케이프 캐릭터의 변환을 행하기 위한 패키지 레벨의 다양한 함수가 포함됩니다.
Public
 함수정의
  clearInterval (id:uint ):void
지정한 setInterval() 호출을 캔슬합니다.
flash.utils
  clearTimeout (id:uint ):void
지정한 setTimeout() 호출을 캔슬합니다.
flash.utils
  describeType (value:* ):XML
Methods의 Parameters로서 명명된 ActionScript object를 기술하는 XML object를 작성합니다.
flash.utils
  escapeMultiByte (value:String ):String
System.useCodePage 의 값에 따라, UTF-8 또는 시스템 code page의 어느 쪽인가에 encode 된 입력 string를 이스케이프 한 복사를 돌려줍니다.
flash.utils
  getDefinitionByName (name:String ):Object
name Parameters로 지정한 클래스의 클래스 object에의 참조를 돌려줍니다.
flash.utils
  getQualifiedClassName (value:* ):String
object의 완전 수식 클래스명을 돌려줍니다.
flash.utils
  getQualifiedSuperclassName (value:* ):String
value Parameters로 지정한 object의 기본 클래스의 완전 수식 클래스명을 돌려줍니다.
flash.utils
  getTimer ():int
Flash Player 가 초기화되고 나서의 경과시간을 밀리 세컨드 단위로 돌려줍니다. 이 시간은, 기준 시각의 계산에 사용됩니다.
flash.utils
  setInterval (closure:Function , delay:Number , ... arguments):uint
밀리 세컨드 단위로 지정한 간격 마다 함수를 실행합니다.
flash.utils
  setTimeout (closure:Function , delay:Number , ... arguments):uint
밀리 세컨드 단위로 지정한 지연 시간의 경과후에, 지정한 함수를 실행합니다.
flash.utils
  unescapeMultiByte (value:String ):String
System.useCodePage 의 값에 따라, UTF-8 또는 시스템 code page의 어느쪽이든으로부터 디코드된 입력 string를 안 이스케이프 한 복사를 돌려줍니다.
flash.utils
함수의 상세
clearInterval()함수
public function clearInterval(id:uint ):void

지정한 setInterval() 호출을 캔슬합니다.

Parameters
id:uint setInterval() 호출의 ID 입니다. 다음과 같이 변수를 설정합니다.
  var my_timedProcess:uint = setInterval(my_repeatedFunction, 1000);
  
  // ...
  
  clearInterval(my_timedProcess);
 

See also

clearTimeout()함수 
public function clearTimeout(id:uint ):void

지정한 setTimeout() 호출을 캔슬합니다.

Parameters
id:uint setTimeout() 호출의 ID 입니다. 다음과 같이 변수를 설정합니다.
  var my_timedProcess:uint = setTimeout(my_delayedFunction, 1000);
  
  // ...
  
  clearTimeout(my_timedProcess);
 

See also

describeType()함수 
public function describeType(value:* ):XML

Methods의 Parameters로서 명명된 ActionScript object를 기술하는 XML object를 작성합니다. 이 Methods에는, ActionScript 언어의 프로그래밍 컨셉 반영이 Implements되고 있습니다.

value Parameters가 특정의 형태의 인스턴스인 경우, 돌려주어지는 XML object에는 그 형태의 모든 인스턴스 property가 포함됩니다만, 정적 property는 포함되지 않습니다. XML object를 해석할 때에 <type> 태그의 isStatic 속성의 값을 조사하는 것에 의해 이 상태를 확인할 수 있습니다. value Parameters가 특정의 형태의 인스턴스인 경우, 이 속성은 false 가 됩니다.

특정의 형태의 정적 property를 취득하려면 , 형태 자체를 value Parameters에 건네줍니다. 돌려주어지는 XML object에는, 그 타입의 정적 property 뿐만 아니라, 모든 인스턴스 property도 포함되어 있습니다. 인스턴스 property는,<factory> 라고 하는 태그내에 네스트 되어 정적 property와 구별됩니다. 이 경우,<type> 태그의 isStatic 속성은 true 입니다.

메모: object의 Inheritance 계층간의 이동만이 필요해,describeType() 에 의해 제공되는 그 외의 정보는 불필요한 경우에는, 대신에,getQualifiedClassName() 함수 및 getQualifiedSuperclassName() 함수를 사용합니다.

다음의 겉(표)는,describeType() 에 의해 생성되는 XML object의 태그 및 속성의 몇개인가에 대해 설명한 것입니다.

태그속성설명
<type> XML object의 루트 태그입니다.
 nameActionScript object의 데이터형의 이름입니다.
 baseActionScript object를 정의하고 있는 클래스의 바로 위의 Super 클래스입니다. ActionScript object가 클래스 object의 경우, 값은 Class 가 됩니다.
 isDynamicActionScript object를 정의하고 있는 클래스가 dynamic 의 경우는 true, 그 이외의 경우는 false 가 됩니다. ActionScript object가 클래스 object의 경우, Class 클래스는 dynamic 이기 (위해)때문에, 값은 true 가 됩니다.
 isFinalActionScript object를 정의하고 있는 클래스가 final 의 경우는 true, 그 이외의 경우는 false 가 됩니다.
 isStaticActionScript object가 클래스 object 또는 constructor    함수의 경우는 true, 그 이외의 경우는 false 가 됩니다. 이 속성이 true 의 경우에는 factory 태그내에 네스트되어 있지 않은 모든 태그가 정적으로 되기 (위해)때문에, 이 속성에는 isStatic 라는 이름이 붙일 수 있고 있습니다.
<extendsClass> ActionScript object를 정의하고 있는 클래스의 각 Super 클래스에는, 개별적으로 extendsClass 라고 하는 태그가 있습니다.
 typeActionScript object를 정의하고 있는 클래스를 확장한 Super 클래스의 이름입니다.
<implementsInterface> ActionScript object를 정의하고 있는 클래스 또는 그 몇개의 Super 클래스에 의해 Implements되고 있는 각 인터페이스에는, 개별적으로 implementsInterface 라고 하는 태그가 있습니다.
 typeActionScript object를 정의하고 있는 클래스가 Implements하고 있는 인터페이스의 이름입니다.
<accessor> 악 세사는, getter 함수와 setter 함수에 의해 정의된 property입니다.
 name악 세사의 이름입니다.
 accessproperty의 액세스권입니다. 유효한 값에는,readonly,writeonly,readwrite 등이 있습니다.
 typeproperty의 데이터형입니다.
 declaredBy관련하는 getter 함수 또는 setter 함수가 포함되는 클래스입니다.
<constant> 정수는,const 명령문(statement)로 정의된 property입니다.
 name정수의 이름입니다.
 type정수의 데이터형입니다.
<method> Methods는, 클래스 정의의 일부로서 선언된 함수입니다.
 nameMethods의 이름입니다.
 declaredByMethods의 정의가 포함되는 클래스입니다.
 returnTypeMethods의 반환값의 데이터형입니다.
<parameter> Methods에 의해 정의되는 각 Parameters에는, 개별적으로 parameter 라고 하는 태그가 있습니다. 이 태그는, 항상 <method> 태그내에 네스트 됩니다.
 indexMethods의 Parameters 리스트에 Parameters가 표시되는 순서에 대응하는 번호입니다. 최초의 Parameters의 값은 1 입니다.
 typeParameters의 데이터형입니다.
 optionalParameters가 옵션의 경우에는 true, 그 이외의 경우는 false 가 됩니다.
<variable> 변수는,var 명령문(statement)로 정의된 property입니다.
 name변수의 이름입니다.
 type변수의 데이터형입니다.
<factory> ActionScript object가 클래스 object 또는 constructor    함수의 경우, 인스턴스의 모든 property 및 Methods는, 이 태그내에 네스트 됩니다. <type> 태그의 isStatic 속성이 true 의 경우,<factory> 태그내에 네스트되어 있지 않은 모든 property 및 Methods는 정적입니다. 이 태그는, ActionScript object가 클래스 object 또는 constructor    함수의 경우에게만 표시됩니다.
Parameters
value:* — 형의 기술이 필요한 object입니다. 사용 가능한 모든 ActionScript 형, object 인스턴스, 유니트나 클래스 object등의 원시적형을 포함한 이 Methods에, 임의의 ActionScript 값를 건네줄 수가 있습니다.

반환값
XML — Parameters로서 건네받은 object의 상세가 포함되는 XML object입니다. object에 관한 다음의 정보가 기술되고 있습니다.
  • object의 클래스
  • 클래스의 속성
  • 클래스로부터 기본 클래스에의 Inheritance 트리
  • 클래스마다의 인터페이스의 Implements
  • 선언한 클래스의 인스턴스 property
  • 선언한 클래스의 정적 property
  • 클래스의 인스턴스 Methods
  • 클래스의 정적 Methods
  • 클래스의 Methods마다의 이름, Parameters수, 반환값의 형태, 및 Parameters의 형태

메모: describeType() 에서는, 공공적인 property 및 Methods만이 표시됩니다. 프라이빗, 패키지 내부, 또는 custom namespace에 있는 property 및 Methods는 표시되지 않습니다.

See also


Example
package {
    import flash.display.Sprite;
    import flash.utils.describeType;
    
    public class DescribeTypeExample extends Sprite {
        public function DescribeTypeExample() {
            var child:Sprite = new Sprite();
            var description:XML = describeType(child);
            trace(description..accessor. @name.toXMLString());
        }
    }
}

escapeMultiByte()함수 
public function escapeMultiByte(value:String ):String

System.useCodePage 의 값에 따라, UTF-8 또는 시스템 code page의 어느 쪽인가에 encode 된 입력 string를 이스케이프 한 복사를 돌려줍니다. System.useCodePage 를 사용하면, 로컬 code page로 encode 된 낡은 컨텐츠에 Player 로 액세스 할 수 있습니다. 다만, 낡은 code page를 사용한 시스템으로 밖에 액세스 할 수 없습니다. 예를 들어, Shift-JIS 로서 encode 된 일본어 데이터는, 일본어의 디폴트 code page를 사용한 OS 로 밖에 올바르게 이스케이프 및 안 이스케이프 할 수 없습니다.

Parameters
value:String — 이스케이프 하는 string입니다.

반환값
String — 입력 string를 이스케이프 한 복사입니다. System.useCodePage 가 true 의 경우, 이스케이프 한 string는 시스템 code page로 encode 됩니다. System.useCodePage 가 false 의 경우, 이스케이프 한 string는 UTF-8 로 encode 됩니다. 예를 들어, System.useCodePage 가 false 의 경우, 입력 string "Crüe" 는, 모든 시스템으로 "Cr%C3%BCe" 로서 이스케이프 됩니다. system.useCodePage 가 true 로, 라틴어의 code page가 사용되고 있는 경우,"Crüe" 는 "Cr%FCe" 로서 이스케이프 됩니다. 'ü'캐릭터가 포함되지 않은 라틴어 이외의 code page가 사용되고 있으면,"Cr? e" 라고 하는 결과가 되는 경우가 있습니다.
getDefinitionByName()함수 
public function getDefinitionByName(name:String ):Object

name Parameters로 지정한 클래스의 클래스 object에의 참조를 돌려줍니다.

Parameters
name:String — 클래스명입니다.

반환값
Object name Parameters로 지정한 클래스의 클래스 object에의 참조를 돌려줍니다.

Throws
ReferenceError — 지정된 이름의 일반 정의는 존재하지 않습니다.

Example
다음의 예에서는,GetDefinitionByNameExample 클래스를 사용해 스테이지상에 오렌지색의 사각형을 작성합니다. 여기에서는 이하의 순서를 실행합니다.
  1. 오렌지색의 배경색과 80 픽셀의 크기의 변수를 선언합니다. 이것들은 다음에 사각형의 묘화에 사용됩니다.
  2. constructor    내에서, Class 형의ClassReference 변수는 Sprite 에 할당할 수 있습니다.
  3. instance 라고 하는 ClassReference 의 인스턴스가 인스턴스화 됩니다.
  4. 참조에 의해 instance 가 Sprite object가 되기 (위해)때문에, 사각형은 Sprite 로 사용 가능한 Methods를 사용해 묘화 및 표시 리스트에 추가됩니다.
package {
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.utils.getDefinitionByName;

    public class GetDefinitionByNameExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint = 80;

        public function GetDefinitionByNameExample() {
            var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
            var instance:Object = new ClassReference();
            instance.graphics.beginFill(bgColor);
            instance.graphics.drawRect(0, 0, size, size);
            instance.graphics.endFill();
            addChild(DisplayObject(instance));
        }
    }
}

getQualifiedClassName()함수 
public function getQualifiedClassName(value:* ):String

object의 완전 수식 클래스명을 돌려줍니다.

Parameters
value:* — 완전 수식 클래스명이 필요한 object입니다. 사용 가능한 모든 ActionScript 형, object 인스턴스, 유니트나 클래스 object등의 원시적형을 포함한 이 Methods에, 임의의 ActionScript 값를 건네줄 수가 있습니다.

반환값
String — 완전 수식 클래스명을 포함한 string입니다.

See also

getQualifiedSuperclassName()함수 
public function getQualifiedSuperclassName(value:* ):String

value Parameters로 지정한 object의 기본 클래스의 완전 수식 클래스명을 돌려줍니다. 이 함수에서는 describeType() 보다 신속히 기본 클래스명을 취득할 수 있습니다만,describeType() 로 제공되는 모든 정보가 제공되는 것은 아닙니다.

이 함수를 사용해 클래스명을 취득한 후,getDefinitionByName() 함수를 사용해 클래스명을 클래스 참조로 변환할 수 있습니다.

메모: 이 함수는 인스턴스 계층에 제한되고 있습니다. 한편,describeType() 함수는,value Parameters가 데이터형의 경우에는, 클래스 object 계층을 사용합니다. 데이터형에 대해서 describeType() 를 호출하면, 클래스 object 계층에 근거해 Super 클래스가 돌려주어집니다. Super 클래스에서는, 모든 클래스 object가 Class 로부터 Inheritance됩니다. 다만,getQualifiedSuperclassName() 함수는 클래스 object 계층을 무시해, 보다 익숙해진 인스턴스 계층에 근거해 Super 클래스를 돌려줍니다. 예를 들어,getQualifiedSuperclassName(String) 를 호출하면, 기술적으로는 String 클래스 object는 Class 로부터 Inheritance됩니다만,Object 가 돌려주어집니다. 즉, 형태의 인스턴스나 형태 자체를 사용할지 어떨지에 관계없이, 결과는 같습니다.

Parameters
value:* — 임의의 값입니다.

반환값
String — 존재하지 않는 경우는, 완전 수식 기본 클래스명 또는 null 가 돌려주어집니다.

See also

getTimer()함수 
public function getTimer():int

Flash Player 가 초기화되고 나서의 경과시간을 밀리 세컨드 단위로 돌려줍니다. 이 시간은, 기준 시각의 계산에 사용됩니다. 캘린더 일자 (타임 스탬프)에 대해서는, Date object를 참조해 주세요.

반환값
int — Flash Player 가 초기화된 시점으로부터의 밀리 세컨드수입니다. Player 로 SWF 파일을 1 개 재생을 개시해, 다음에 다른 SWF 파일을 로드하는 경우는, 반환값은 최초의 SWF 파일이 로드 되었을 때 각이 됩니다.

See also


Example
다음의 예에서는, 클래스 GetTimerExample 를 사용해 Flash Player 로 재생을 개시한 시점으로부터의 밀리 세컨드수를 취득 및 출력합니다.
package {
    import flash.utils.getTimer;
    import flash.display.Sprite;

    public class GetTimerExample extends Sprite {
        public function GetTimerExample() {
            var duration:uint = getTimer();
            trace("duration: " + duration);
        }
    }
}

setInterval()함수 
public function setInterval(closure:Function , delay:Number , ... arguments):uint

밀리 세컨드 단위로 지정한 간격 마다 함수를 실행합니다.

이 Methods를 사용할 수 있습니다만, 컴파일러 경고가 발생합니다. setInterval() Methods를 사용하는 대신에,repeatCount Parameters를 0 (타이머를 무한하게 반복하는 설정)으로 해, 지정한 간격으로 Timer object를 작성하는 것을 검토해 주세요.

clearInterval() Methods를 사용해 setInterval() 의 호출을 캔슬하는 경우는, 반드시 다음과 같이, 다음에 setInterval() Methods로 참조되는 변수에 setInterval() 의 호출을 할당해 주세요.

  var my_timedProcess:uint = setInterval(my_repeatedFunction, 1000);
  
  // ...
  
  clearInterval(my_timedProcess);
 
Parameters
closure:Function — 실행하는 함수의 이름입니다. 인용부호나 괄호를 사용하지 말아 주세요. 또, 호출하는 함수에 Parameters를 지정하지 말아 주세요. 예를 들어,functionName 을 사용해,functionName() 이나 functionName(param) 는 사용하지 말아 주세요.
 
delay:Number — 밀리 세컨드 단위의 간격입니다.
 
... arguments — closure 함수에 건네주는 인수의 옵션의 리스트입니다.

반환값
uint — 시간의 프로세스에 대한 일의의 수치 식별자입니다.

See also

setTimeout()함수 
public function setTimeout(closure:Function , delay:Number , ... arguments):uint

밀리 세컨드 단위로 지정한 지연 시간의 경과후에, 지정한 함수를 실행합니다.

이 Methods를 사용하는 대신에,repeatCount Parameters를 1 (타이머를 1 회만 실행하는 설정)으로 해, 지정한 간격으로 Timer object를 작성하는 것을 검토해 주세요.

clearTimeout() Methods를 사용해 setTimeout() 의 호출을 캔슬하는 경우는, 반드시 다음과 같이, 다음에 setTimeout() Methods로 참조되는 변수에 clearTimeout() 의 호출을 할당해 주세요.

  var my_timedProcess:uint = setTimeout(my_delayedFunction, 1000);
  
  // ...
  
  clearTimeout(my_timedProcess);
 
Parameters
closure:Function — 실행하는 함수의 이름입니다. 인용부호나 괄호를 사용하지 말아 주세요. 또, 호출하는 함수에 Parameters를 지정하지 말아 주세요. 예를 들어,functionName 을 사용해,functionName() 이나 functionName(param) 는 사용하지 말아 주세요.
 
delay:Number — 함수가 실행될 때까지의 지연 시간 (밀리 세컨드 단위)입니다.
 
... arguments — closure 함수에 건네주는 인수의 옵션의 리스트입니다.

반환값
uint — 시간의 프로세스에 대한 일의의 수치 식별자입니다.

See also

unescapeMultiByte()함수 
public function unescapeMultiByte(value:String ):String

System.useCodePage 의 값에 따라, UTF-8 또는 시스템 code page의 어느쪽이든으로부터 디코드된 입력 string를 안 이스케이프 한 복사를 돌려줍니다. System.useCodePage 를 사용하면, 로컬 code page로 encode 된 낡은 컨텐츠에 Player 로 액세스 할 수 있습니다. 다만, 낡은 code page를 사용한 시스템으로 밖에 액세스 할 수 없습니다. 예를 들어, Shift-JIS 로서 encode 된 일본어 데이터는, 일본어의 디폴트 code page를 사용한 OS 로 밖에 올바르게 이스케이프 및 안 이스케이프 할 수 없습니다.

Parameters
value:String — 안 이스케이프 하는, 이스케이프 된 string입니다.

반환값
String — 입력 string를 안 이스케이프 한 복사입니다. System.useCodePage 가 true 의 경우, 이스케이프 한 string는 시스템 code page로부터 디코드됩니다. System.useCodePage 가 false 의 경우, 이스케이프 한 string는 UTF-8 로부터 디코드됩니다. 예를 들어, 입력 string가 "Cr%C3%BCe" 로, System.useCodePage 가 false 의 경우, 모든 시스템에서의 결과는 "Crüe" 가 됩니다. System.useCodePage 가 true, 입력 string가 "Cr%FCe" 로, 라틴어의 code page가 사용되고 있는 경우도, 결과는 "Crüe" 가 됩니다. System.useCodePage 를 true 로 해 "Cr%C3%BCe" 를 안 이스케이프 하면, 라틴어의 시스템으로 "Crüe" 가 발생하는 등, 다양한 시스템으로 다양한 부적절한 결과가 발생합니다. 같이 System.useCodePage 를 false 로 해 "Cr%FCe" 를 안 이스케이프 하면, 시스템의 code page에 의해,"Cre" 나"Cr? e" 등이 다양한 결과가 발생할 가능성이 있습니다.



 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/utils/package.html