| Package | flash.display |
| Class | public class DisplayObject |
| Inheritance | DisplayObject EventDispatcher Object |
| Implements | IBitmapDrawable |
| Subclasses | AVM1Movie , Bitmap , InteractiveObject , MorphShape , Shape , StaticText , Video |
DisplayObject 클래스는 기본 기능 (예를 들어 object의 x 방향 및 y 방향의 위치)에 가세해, object의 확장 property (예를 들어 변환 매트릭스)를 지원(support)합니다.
DisplayObject 는 추상 기본 클래스이기 (위해)때문에, DisplayObject 를 직접 호출할 수 없습니다. new DisplayObject() 를 호출하면 ArgumentError 예외가 슬로우 됩니다. 모든 표시 object는 DisplayObject 클래스로부터 Inheritance합니다. DisplayObject 클래스의 custom 서브 클래스를 작성하는 경우는, 유효한 new constructor 을 가지는 DisplayObject 클래스의 서브 클래스를 확장할 필요가 있습니다.
ActionScript 1.0 및 2.0 의 MovieClip, TextField, 및 Button 클래스에서 사용되어 아픈 구두인가의 property (예를 들어 _alpha,_height,_name,_width,_x,_y 등)와 동등의 property가, ActionScript 3.0 DisplayObject 클래스에 존재합니다. 이러한 이름은 변경되어 언더 스코아 (_) 캐릭터에서는 시작되지 않습니다.
자세하게는, 「ActionScript 3.0 의 프로그래밍」의 「표시의 프로그래밍」의 장을 참조해 주세요.
See also
| property | 정의 | ||
|---|---|---|---|
| accessibilityProperties : AccessibilityProperties
이 표시 object의 현재의 accessibility options입니다.
| DisplayObject | ||
| alpha : Number
지정된 object의 알파 투명도 값을 나타냅니다.
| DisplayObject | ||
| blendMode : String
사용하는 브렌드 모드를 지정하는 BlendMode 클래스의 값입니다.
| DisplayObject | ||
cacheAsBitmap : Boolean
true 로 설정되어 있는 경우, 표시 object의 내부 비트 맵 표현이 Flash Player 에 캐쉬됩니다. | DisplayObject | ||
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| filters : Array
표시 object에 현재 관련지을 수 있고 있는 각 필터 object가 포함되고 있는 인덱스 첨부의 배열입니다.
| DisplayObject | ||
| height : Number
표시 object의 높이를 나타냅니다 (픽셀 단위).
| DisplayObject | ||
| loaderInfo : LoaderInfo
[read-only]
이 표시 object가 속하는 파일의 로드 정보를 포함한 LoaderInfo object를 돌려줍니다.
| DisplayObject | ||
| mask : DisplayObject
호출원 display object는, 지정된
mask object에 의해 마스크 됩니다. | DisplayObject | ||
| mouseX : Number
[read-only]
마우스 위치의 x 좌표를 나타냅니다 (픽셀 단위).
| DisplayObject | ||
| mouseY : Number
[read-only]
마우스 위치의 y 좌표를 나타냅니다 (픽셀 단위).
| DisplayObject | ||
| name : String
DisplayObject 의 인스턴스명을 나타냅니다.
| DisplayObject | ||
| opaqueBackground : Object
표시 object가 특정의 배경색으로 불투명한지 어떤지를 지정합니다.
| DisplayObject | ||
| parent : DisplayObjectContainer
[read-only]
이 표시 object를 포함한 DisplayObjectContainer object를 나타냅니다.
| DisplayObject | ||
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| root : DisplayObject
[read-only]
로드 된 SWF 파일내 display object의 경우,
root property는 그 SWF 파일이 나타내는 표시 리스트의 트리 구조 부분의 맨 위에 있는 표시 object가 됩니다. | DisplayObject | ||
| rotation : Number
DisplayObject 인스턴스의 원래의 위치로부터의 회전각을 번단위로 가리킵니다.
| DisplayObject | ||
| scale9Grid : Rectangle
현재 유효한 확대 / 축소 격자입니다.
| DisplayObject | ||
| scaleX : Number
기준점으로부터 적용되는 object의 수평 스케일 (
percentage)을 나타냅니다. | DisplayObject | ||
| scaleY : Number
object의 기준점으로부터 적용되는 object의 수직 스케일 (
percentage)을 나타냅니다. | DisplayObject | ||
| scrollRect : Rectangle
표시 object의 스크롤 구형의 경계.
| DisplayObject | ||
| stage : Stage
[read-only]
표시 object의 스테이지.
| DisplayObject | ||
| transform : Transform
표시 object의 매트릭스, 칼라 변환, 픽셀 경계에 관계하는 property를 가지는 object입니다.
| DisplayObject | ||
| visible : Boolean
표시 object가 가시인가 어떤가를 나타냅니다.
| DisplayObject | ||
| width : Number
표시 object의 폭을 나타냅니다 (픽셀 단위).
| DisplayObject | ||
| x : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
| DisplayObject | ||
| y : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
| DisplayObject | ||
| Methods | 정의 | ||
|---|---|---|---|
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
getBounds (targetCoordinateSpace:DisplayObject ):Rectangle
targetCoordinateSpace object의 좌표계를 기준으로 해, 표시 object의 area를 정의하는 구형을 돌려줍니다. | DisplayObject | ||
| getRect (targetCoordinateSpace:DisplayObject ):Rectangle
셰이프상의 선을 제외해,
targetCoordinateSpace Parameters에 의해 정의된 좌표계에 근거해, 표시 object의 경계를 정의하는 구형을 돌려줍니다. | DisplayObject | ||
globalToLocal (point:Point ):Point
point object를 스테이지 (글로벌) 좌표로부터 표시 object의 (로컬) 좌표로 변환합니다. | DisplayObject | ||
![]() | hasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
| EventDispatcher | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
| hitTestObject (obj:DisplayObject ):Boolean
표시 object를 평가해,
obj 표시 object와 중복 또는 교차할지 어떨지를 조사합니다. | DisplayObject | ||
| hitTestPoint (x:Number , y:Number , shapeFlag:Boolean = false):Boolean
표시 object를 평가해,
x 및 y Parameters로 지정된 포인트와 중복 또는 교차할지 어떨지를 조사합니다. | DisplayObject | ||
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
localToGlobal (point:Point ):Point
point object를 표시 object의 (로컬) 좌표로부터 스테이지 (글로벌) 좌표로 변환합니다. | DisplayObject | ||
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
| EventDispatcher | |
| 이벤트 | 일람 | 정의 | ||
|---|---|---|---|---|
| activate | Flash Player 가 operating system의 포커스를 취득해, 액티브하게 되었을 때에 dispatch됩니다. | DisplayObject | ||
| added | 표시 object가 표시 리스트에 추가되었을 때에 dispatch됩니다. | DisplayObject | ||
| deactivate | Flash Player 가 operating system의 포커스를 잃어, 비액티브하게 되었을 때에 dispatch됩니다. | DisplayObject | ||
| enterFrame | 재생 헤드가 새로운 프레임에 들어갈 때 dispatch됩니다. | DisplayObject | ||
| removed | 표시 object가 표시 리스트로부터 삭제 되려고 하고 있을 때 dispatch됩니다. | DisplayObject | ||
| render | 표시 리스트가 갱신 및 렌더링 되려고 하고 있을 때 dispatch됩니다. | DisplayObject | ||
| accessibilityProperties | property |
accessibilityProperties:AccessibilityProperties [read-write]
이 표시 object의 현재의 accessibility options입니다. accessibilityProperties property, 또는 accessibilityProperties 내의 몇개의 필드를 변경했을 경우, 변경 내용을 유효하게 하려면 ,Accessibility.updateProperties() Methods를 호출할 필요가 있습니다.
메모 :Flash 오쏘링 환경에서 작성된 object의 경우, 그 object의 [accessibility] 패널 에 입력한 정보가 accessibilityProperties 의 값에 재설정됩니다.
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties ):void
See also
import flash.text.TextField;
import flash.accessibility.AccessibilityProperties;
import flash.accessibility.Accessibility;
import flash.system.Capabilities;
var tf:TextField = new TextField();
tf.text = "hello";
var accessProps:AccessibilityProperties = new AccessibilityProperties();
accessProps.name = "Greeting";
tf.accessibilityProperties = accessProps;
if (Capabilities.hasAccessibility) {
Accessibility.updateProperties();
}
trace(tf.accessibilityProperties.name); // Greeting
| alpha | property |
alpha:Number [read-write]
지정된 object의 알파 투명도 값을 나타냅니다. 유효한 값은 0 (완전한 투명) ~ 1 (완전한 불투명)입니다. 디폴트치는 1 입니다. alpha 가 0 으로 설정되어 있는 표시 object는 불가시여도 액티브 상태입니다.
public function get alpha():Number
public function set alpha(value:Number ):void
alpha
property를 50% 로 설정합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);
function dimObject(event:MouseEvent) :void {
event.target.alpha = 0.5;
}
function restoreObject(event:MouseEvent) :void {
event.target.alpha = 1.0;
}
| blendMode | property |
blendMode:String [read-write]
사용하는 브렌드 모드를 지정하는 BlendMode 클래스의 값입니다. 내부적으로는, 2 개의 방법으로 비트 맵을 묘화 할 수가 있습니다. 브렌드 모드를 유효하게 했을 경우, 또는 외부 클리핑 마스크를 사용하는 경우에는, 비트 맵으로 전부 칠해진 사각형 셰이프를 베크타렌다에 추가하는 것에 의해 비트 맵이 묘화 됩니다. 이 property를 무효인 값으로 설정하려고 하면, Flash Player 는 값을 BlendMode.NORMAL 로 설정합니다.
Flash Player 는 blendMode property를 표시 object의 각 픽셀에 적용합니다. 각 픽셀은, 3 개의 요소 칼라 (적, 초록, 파랑)로 구성되어 있어 각 요소 칼라는 0x00 ~ 0xFF 의 값을 가집니다. Flash Player 는, 무비 클립내의 1 개의 픽셀의 각 요소 칼라를, 배경의 픽셀의 대응하는 칼라와 비교합니다. 예를 들어,blendMode 가 BlendMode.LIGHTEN 로 설정되어 있는 경우, Flash Player 는 표시 object의 빨강의 값과 배경의 빨강의 값을 비교해, 밝은 (분)편의 값을 표시색의 빨강의 성분으로서 사용합니다.
다음의 겉(표)에서는,blendMode 의 설정에 대해 설명합니다. flash.display.BlendMode 클래스는, 사용 가능한 string치를 정의합니다. 겉(표)안의 그림은, 다른 표시 object (1)과 겹쳐진 원형 display object (2)에 적용되는 blendMode 값를 나타내고 있습니다.
| string ( flash.display.BlendMode정수)의 값 |
도 | 설명 |
|---|---|---|
BlendMode.NORMAL |
![]() |
표시 object는, 배경의 전에 표시됩니다. 표시 object의 픽셀치는, 배경의 픽셀치보다 우선됩니다. 표시 object가 투명한 부분에서는, 배경이 표시됩니다. |
BlendMode.LAYER |
![]() |
표시 object에 관한 투명도 그룹을 강제적으로 작성합니다. 즉, 표시 object가 처리되기 전에, 일시 버퍼내에서 표시 object가 사전에 구성됩니다. 비트 맵 캐쉬를 사용해 표시 object가 사전 캐쉬되는 경우, 또는 표시 object가,blendMode 가 BlendMode.NORMAL 이외에 설정된 child object를 적어도 1 개 포함한 표시 object 컨테이너인 경우에는, 이것이 자동적으로 실행됩니다.
|
BlendMode.MULTIPLY |
![]() |
표시 object의 요소 칼라의 값과 배경색의 값을 곱셈한 후, 0xFF 로 나누어 정규화해, 색을 어둡게 합니다. 이 설정은, 그림자나 심도 효과에 자주(잘) 사용됩니다.
예를 들어, 표시 object의 픽셀의 요소 칼라 (예를 들어 빨강)와 배경의 픽셀의 대응하는 칼라의 값이 함께 0x88 의 경우, 곱셈한 결과는 0x4840 입니다. 0xFF 로 제산하면, 그 요소 칼라의 값은 0x48 가 됩니다. 이것은, 표시 object 또는 배경의 색보다 어두워집니다. |
BlendMode.SCREEN |
![]() |
표시 object의 색의 보수 (역)와 배경색의 보수를 곱셈해, 표백 효과를 얻습니다. 이 설정은, 하이라이트나, 표시 object의 검은 area의 삭제에 자주(잘) 사용됩니다. |
BlendMode.LIGHTEN |
![]() |
표시 object의 요소 칼라와 배경색의 쳐 밝은 (분)편 (값이 큰 (분)편)의 색을 선택합니다. 이 설정은, 거듭해 맞댐 타입에 자주(잘) 사용됩니다.
예를 들어, 표시 object의 픽셀의 RGB 값가 0xFFCC33 로, 배경의 픽셀의 RGB 값가 0xDDF800 의 경우, 0xFF > 0 xDD, 0xCC < 0 xF8, 및 0x33 > 0x00 = 33 이기 (위해)때문에, 표시되는 픽셀의 RGB 값는 0xFFF833 가 됩니다. |
BlendMode.DARKEN |
![]() |
표시 object의 요소 칼라와 배경색의 쳐 어두운 (분)편 (값이 작은 (분)편)의 색을 선택합니다. 이 설정은, 거듭해 맞댐 타입에 자주(잘) 사용됩니다.
예를 들어, 표시 object의 픽셀의 RGB 값가 0xFFCC33, 그리고, 배경의 픽셀의 RGB 값가 0xDDF800 의 경우, 0xFF > 0 xDD, 0xCC < 0 xF8, 0x33 > 0x00 = 33 이기 (위해)때문에, 표시되는 픽셀의 RGB 값는 0xDDCC00 가 됩니다. |
BlendMode.DIFFERENCE |
![]() |
표시 object의 요소 칼라와 배경색을 비교해, 2 개의 요소 칼라의 쳐 밝은 (분)편의 값으로부터 어두운 (분)편의 값을 공제합니다. 이 설정은, 거듭해 맞댐 타입에 자주(잘) 사용됩니다.
예를 들어, 표시 object의 1 개의 픽셀의 RGB 값가 0xFFCC33 로, 배경의 픽셀의 RGB 값가 0xDDF800 의 경우, 0xFF - 0xDD = 0 x22, 0xF8 - 0xCC = 0 x2C, 0x33 - 0x00 = 0x33 이기 때문에, 표시되는 픽셀의 RGB 값는 0x222C33 가 됩니다. |
BlendMode.ADD |
![]() |
표시 object의 요소 칼라의 값을 배경색에 가산해, 그 때에 상한 0xFF 를 적용합니다. 이 설정은, 2 개의 object간에 색을 밝게 하는 디조르브를 애니메이션으로 할 경우에 자주(잘) 사용됩니다.
예를 들어, 표시 object의 픽셀의 RGB 값가 0xAAA633 로, 배경의 픽셀의 RGB 값가 0xDD2200 의 경우, 0xAA + 0xDD > 0 xFF, 0xA6 + 0x22 = 0 xC8, 및 0x33 + 0x00 = 0x33 이기 (위해)때문에, 표시되는 픽셀의 RGB 값는 0xFFC833 가 됩니다. |
BlendMode.SUBTRACT |
![]() |
하한을 0 으로서 표시 object의 요소 칼라의 값을 그 배경색의 값으로부터 감산합니다. 이 설정은, 2 개의 object간에 색을 어둡게 하는 디조르브를 애니메이션으로 할 경우에 자주(잘) 사용됩니다.
예를 들어, 표시 object의 1 개의 픽셀의 RGB 값가 0xAA2233 로, 배경의 픽셀의 RGB 값가 0xDDA600 의 경우, 0xDD - 0xAA = 0 x33, 0xA6 - 0x22 = 0 x84, 0x00 - 0x33 < 0x00 이기 때문에, 표시되는 픽셀의 RGB 값는 0x338400 가 됩니다. |
BlendMode.INVERT |
![]() |
배경을 반전합니다. |
BlendMode.ALPHA |
![]() |
표시 object의 각 픽셀의 알파치를 배경으로 적용합니다. 이것을 실시하려면 , 친표시 object의 blendMode 가 BlendMode.LAYER 로 설정되지 않으면 안됩니다. 예를 들어, 그림의 친표시 object (흰 배경)는,blendMode = BlendMode.LAYER 로 설정되어 있습니다. |
BlendMode.ERASE |
![]() |
표시 object의 알파치에 근거해 배경을 소거합니다. 이것을 실시하려면 , 친표시 object의 blendMode 가 BlendMode.LAYER 로 설정되지 않으면 안됩니다. 예를 들어, 그림의 친표시 object (흰 배경)는,blendMode = BlendMode.LAYER 로 설정되어 있습니다. |
BlendMode.OVERLAY |
![]() |
배경의 어두움에 근거해, 각 픽셀의 색을 조정합니다. 배경이 50% 회색보다 밝은 경우, 표시 object와 배경의 색이 그물 벼랑 되어보다 밝아집니다. 배경이 50% 회색보다 어두운 경우, 2 개의 색이 곱셈되어, 보다 어두워집니다. 이 설정은, 그림자 효과에 자주(잘) 사용됩니다. |
BlendMode.HARDLIGHT |
![]() |
표시 object의 어두움에 근거해, 각 픽셀의 색을 조정합니다. 표시 object가 50% 회색보다 밝은 경우, 표시 object와 배경의 색이 그물 벼랑 되어보다 밝아집니다. 표시 object가 50% 회색보다 어두운 경우, 2 개의 색이 곱셈되어, 보다 어두워집니다. 이 설정은, 그림자 효과에 자주(잘) 사용됩니다. |
public function get blendMode():String
public function set blendMode(value:String ):void
See also
BlendMode.SUBTRACT
(을)를 설정합니다.
import flash.display.Sprite;
import flash.display.BlendMode;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF88CC);
square.graphics.drawRect(0, 0, 80, 80);
addChild(square);
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);
function dimObject(event:MouseEvent) :void {
event.target.blendMode = BlendMode.SUBTRACT;
}
function restoreObject(event:MouseEvent) :void {
event.target.blendMode = BlendMode.NORMAL;
}
| cacheAsBitmap | property |
cacheAsBitmap:Boolean [read-write]
true 로 설정되어 있는 경우, 표시 object의 내부 비트 맵 표현이 Flash Player 에 캐쉬됩니다. 이 캐쉬 처리에 의해, 복잡한 벡터 컨텐츠를 포함하고 있는 표시 object의 퍼포먼스를 향상할 수 있습니다.
비트 맵이 캐쉬되고 있는 표시 object의 모든 벡터 데이터는, 메인 표시는 아니고 비트 맵에 묘화 됩니다. 그 후, 비트 맵은, 가장 가까운 픽셀 경계에 흡착된 비신축, 비회전의 픽셀로서 메인 표시에 복사됩니다. 픽셀은, 친object와 1 대 1 으로 MAP 됩니다. 비트 맵의 경계가 변경되면, 비트 맵은 신축되는 것이 아니라, 재작성됩니다.
cacheAsBitmap property가 true 로 설정되어 있지 않은 한, 내부 비트 맵은 작성되지 않습니다.
cacheAsBitmap property를 true 로 설정한 후, 렌더링은 변경됩니다만, 표시 object는 픽셀에의 흡착을 자동적으로 실행합니다. 애니메이션의 속도는, 벡터 컨텐츠의 복잡함에 응해 큰폭으로 빨라질 가능성이 있습니다.
(filter 배열이 empty이 아닌 경우에) 필터를 표시 object에 적용하면,cacheAsBitmap property는 항상 자동적으로 true 로 설정됩니다. 또, 표시 object에 필터가 적용되는 경우, 비록 cacheAsBitmap property를 false 로 설정해도, 그 그 표시 object의 property는 true 라고 보고됩니다. 표시 object의 모든 필터를 클리어 하면,cacheAsBitmap 는 이전의 설정하러 돌아옵니다.
이하와 같은 경우에는,cacheAsBitmap property가 true 로 설정되어 있어도 표시 object는 비트 맵을 사용하지 않고, 대신에 벡터 데이터로부터 묘화 합니다.
cacheAsBitmap property는, 그 내용이 거의 정적이어, 확대나 축소, 회전이 빈번하게 행해지지 않는 무비 클립에 최적입니다. 그러한 무비 클립에서는,cacheAsBitmap property에 의해, 무비 클립의 변환시 (그 x 위치와 y 위치의 변경시)에 퍼포먼스가 향상할 가능성이 있습니다.
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean ):void
See also
cacheAsBitmap property의 값을 트레이스 합니다. 이 property는,
필터가 적용되면 true 로 설정됩니다.
import flash.display.Sprite; import flash.filters.DropShadowFilter var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); trace(circle.cacheAsBitmap); // false var filter:DropShadowFilter = new DropShadowFilter(); circle.filters = [filter]; trace(circle.cacheAsBitmap); // true
| filters | property |
filters:Array [read-write]표시 object에 현재 관련지을 수 있고 있는 각 필터 object가 포함되고 있는 인덱스 첨부의 배열입니다. flash.filters 패키지에는, 사용 가능한 특정의 필터를 정의하는 복수의 클래스가 포함되어 있습니다.
ActionScript 코드를 사용하는 것으로써, 설계시 또는 실행시에 Flash authoring tool로 필터를 적용할 수가 있습니다. ActionScript 를 사용해 필터를 적용하려면 ,filters 배열 전체의 일시 복사를 작성해 그 일시 배열을 변경한 후, 일시 배열의 값을 filters 배열에 다시 대입할 필요가 있습니다. 새로운 필터 object를 filters 배열에 직접 추가할 수 없습니다. 다음의 코드는,myDisplayObject 라는 이름의 타겟 표시 object에 영향을 주지 않습니다.
myDisplayObject.filters[0]. push(myDropShadow);
ActionScript 를 사용해 필터를 추가하려면 , 다음의 순서를 실행할 필요가 있습니다 (타겟 표시 object의 이름을 myDisplayObject 로 합니다).
myDisplayObject.filters 배열의 값을,myFilters 등의 이름의 일시 배열에 대입합니다. myFilters 에 추가합니다. myDisplayObject.filters 배열에 대입합니다. filters 배열이 미정도리의 경우, 일시 배열을 사용할 필요는 없습니다. 그 대신에, 작성되는 1 개 또는 복수의 필터 object를 포함하는 배열 리터럴을 직접 대입할 수가 있습니다. 최초의 예에서는, 정의가 끝난 상태 및 미정도리의 filters 배열을 처리하는 코드를 사용해, 드롭섀도우 필터를 추가합니다.
기존의 필터 object를 변경하려면 , 다음과 같이,filters 배열의 복사를 변경할 필요가 있습니다.
filters 배열의 값을,myFilters 등의 이름의 일시 배열에 대입합니다. myFilters 를 사용해 property를 변경합니다. 예를 들어, 배열내의 최초의 필터의 quality property를 설정하려면 , 다음과 같은 코드를 사용할 수 있습니다. myFilters[0]. quality = 1;filters 배열에 대입합니다. 로드시에는, 표시 object에 필터를 관련지을 수 있고 있는 경우, 투명한 비트 맵으로서 표시 object 자신을 캐쉬하도록(듯이) 마크 됩니다. 이 이후, 표시 object에 유효한 필터 리스트가 있는 한, 표시 object는 비트 맵으로서 캐쉬됩니다. 이 소스 비트 맵은, 필터 효과의 소스 이미지로서 사용됩니다. 통상, 각각 display object에는 2 개의 비트 맵이 있습니다. 1 개은 필터 적용전의 원 display object의 비트 맵, 이제(벌써) 1 개은 필터 적용 후의 최종 이미지의 비트 맵입니다. 최종 이미지는 렌더링시에 사용됩니다. 표시 object가 변경되지 않는 이상 최종 이미지를 갱신할 필요는 없습니다.
flash.filters 패키지에는 필터용의 클래스가 포함됩니다. 예를 들어, DropShadow 필터를 작성하려면 , 다음과 같이 할 수가 있습니다.
import flash.filters.DropShadowFilter
var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
filter 배열내의 각각의 인덱스 위치에 할당할 수 있는 필터의 종류를 판별하기 위해서,is 연산자를 사용할 수 있습니다. 예를 들어, 다음의 코드는, DropShadowFilter 인 filters 배열내의 최초의 필터의 위치를 판별하는 방법을 나타내고 있습니다.
import flash.text.TextField;
import flash.filters. *;
var tf:TextField = new TextField();
var filter1:DropShadowFilter = new DropShadowFilter();
var filter2:GradientGlowFilter = new GradientGlowFilter();
tf.filters = [filter1, filter2];
tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter). toString(); // 0
addChild(tf)
function filterPosition(displayObject:DisplayObject, filterClass:Class) :int {
for (var i:uint = 0; i < displayObject.filters.length; i++) {
if (displayObject.filters[i] is filterClass) {
return i;
}
}
return -1;
}
public function get filters():Array
public function set filters(value:Array ):void
See also
| height | property |
height:Number [read-write]표시 object의 높이를 나타냅니다 (픽셀 단위).
Implements public function get height():Number
public function set height(value:Number ):void
textHeight property에 근거해 각각의 height property를
조정합니다. 또,y property를 설정해, 2 번째의 텍스트 필드를 배치합니다.
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
| loaderInfo | property |
loaderInfo:LoaderInfo [read-only]
이 표시 object가 속하는 파일의 로드 정보를 포함한 LoaderInfo object를 돌려줍니다. loaderInfo property는, SWF 파일의 루트 표시 object용, 또는 (ActionScript 를 사용해 묘화 되는 비트 맵은 아니고) 로드 되는 비트 맵용으로서 정의되고 있습니다. myDisplayObject 라는 이름 display object를 포함하고 있는 SWF 파일에 관련한 loaderInfo object를 찾아내려면 ,myDisplayObject.root.loaderInfo 를 사용합니다.
this.root.loaderInfo.addEventListener(Event.COMPLETE, func) 를 호출하는 것으로, 큰 SWF 파일의 다운로드를 모니터 할 수가 있습니다.
public function get loaderInfo():LoaderInfo
See also
this 가 표시 object를
참조하는 경우를 상정하고 있습니다. 이 코드에서는, 표시 object의 루트 SWF 파일의
URL 를 출력합니다.
trace (this.loaderInfo.url);
| mask | property |
mask:DisplayObject [read-write]
호출원 display object는, 지정된 mask object에 의해 마스크 됩니다. 스테이지의 확대 및 축소시에 마스크가 확실히 기능하기 위해서는, 표시 리스트의 액티브한 부분에 mask 표시 object가 포함되어 있을 필요가 있습니다. mask object 자체는 묘화 되지 않습니다. 마스크를 제거하려면 mask 를 null 로 설정합니다.
마스크 object를 확대 및 축소하기 위해서는, 그 object가 표시 리스트에 포함되어 있을 필요가 있습니다. (startDrag() Methods를 호출하는 것으로) 마스크 Sprite object를 드러그 하기 위해서는, 그 object가 표시 리스트에 포함되지 않으면 안됩니다. 스프라이트에 의해 dispatch되는 mouseDown 이벤트에 근거해, 마스크 스프라이트에 대해서 startDrag() Methods를 호출하려면 , 스프라이트의 buttonMode property를 true 로 설정합니다.
public function get mask():DisplayObject
public function set mask(value:DisplayObject ):void
drag() event listener 함수로 마스크 Sprite object의 startDrag()
Methods가 불려 갑니다.
import flash.text.TextField;
import flash.display.Sprite;
import flash.events.MouseEvent;
var tf:TextField = new TextField();
tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
+ "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
tf.selectable = false;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 40, 40);
addChild(square);
tf.mask = square;
tf.addEventListener(MouseEvent.MOUSE_DOWN, drag);
tf.addEventListener(MouseEvent.MOUSE_UP, noDrag);
function drag(event:MouseEvent) :void {
square.startDrag();
}
function noDrag(event:MouseEvent) :void {
square.stopDrag();
}
| mouseX | property |
mouseX:Number [read-only]마우스 위치의 x 좌표를 나타냅니다 (픽셀 단위).
Implements public function get mouseX():Number
mouseX
(와)과 mouseY 의 위치가 트레이스 됩니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates);
function traceCoordinates(event:MouseEvent) :void {
trace(square.mouseX, square.mouseY);
}
| mouseY | property |
mouseY:Number [read-only]마우스 위치의 y 좌표를 나타냅니다 (픽셀 단위).
Implements public function get mouseY():Number
mouseX
(와)과 mouseY 의 위치가 트레이스 됩니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates);
function traceCoordinates(event:MouseEvent) :void {
trace(square.mouseX, square.mouseY);
}
| name | property |
name:String [read-write]
DisplayObject 의 인스턴스명을 나타냅니다. 친표시 object 컨테이너의 child 리스트내에서 object를 식별하려면 , 표시 object 컨테이너의 getChildByName() Methods를 호출합니다.
public function get name():String
public function set name(value:String ):void
IllegalOperationError — Flash authoring tool로, 타임 라인상에 배치된 object에 대해서, 이 property를 설정하려고 했을 경우
|
name property를 트레이스 합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFF0000);
circle1.graphics.drawCircle(40, 40, 40);
circle1.name = "circle1";
addChild(circle1);
circle1.addEventListener(MouseEvent.CLICK, traceName);
var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x0000FF);
circle2.graphics.drawCircle(140, 40, 40);
circle2.name = "circle2";
addChild(circle2);
circle2.addEventListener(MouseEvent.CLICK, traceName);
function traceName(event:MouseEvent) :void {
trace(event.target.name);
}
| opaqueBackground | property |
opaqueBackground:Object [read-write]표시 object가 특정의 배경색으로 불투명한지 어떤지를 지정합니다. 투명의 비트 맵에는 알파 채널 데이터가 포함되어 투명하게 묘화 됩니다. 불투명의 비트 맵에는, 알파 채널이 없습니다 (따라 투명의 비트 맵보다 빠르고 렌더링 됩니다). 비트 맵이 불투명의 경우, 사용하는 독자적인 배경색을 지정할 필요가 있습니다.
수치가 설정되었을 경우, 이것은 수치에 의해 지정되는 RGB 배경색을 가지는 불투명한 (투명하지 않다) 표면이 됩니다. null (디폴트치)로 설정되었을 경우, 표시 object의 배경은 투명하게 됩니다.
opaqueBackground property의 주된 용도는, 렌더링 최적화를 위해서(때문에) cacheAsBitmap property와 함께 사용하는 것입니다. cacheAsBitmap property가 true 로 설정되어 있는 표시 object에서는,opaqueBackground 를 설정하면, 렌더링의 퍼포먼스가 향상할 가능성이 있습니다.
shapeFlag Parameters를 true 로 설정해 hitTestPoint() Methods를 호출하는 경우, 불투명한 배경 area는 조합되지 않습니다.
불투명한 배경 area는, 마우스 이벤트에 반응하지 않습니다.
Implements public function get opaqueBackground():Object
public function set opaqueBackground(value:Object ):void
See also
opaqueBackground property를 적색 (0xFF0000)으로 설정합니다.
import flash.display.Shape; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.opaqueBackground = 0xFF0000; addChild(circle);
| parent | property |
parent:DisplayObjectContainer [read-only]
이 표시 object를 포함한 DisplayObjectContainer object를 나타냅니다. 표시 리스트 계층내의 현재 display object의 상위에 있는 표시 object에의 상대 패스를 지정하려면 ,parent property를 사용합니다.
parent 를 사용해 표시 리스트의 복수의 레벨을 위로 이동하려면 , 다음과 같이 합니다.
this.parent.parent.alpha = 20;
public function get parent():DisplayObjectContainer
SecurityError — 친표시 object는, 액세스권한이 주어지지 않은 시큐러티 Sandbox 에 속하고 있습니다. 친무비로 Security.allowDomain() Methods를 호출하는 것으로, 이러한 상황을 피할 수가 있습니다.
|
parent property가 어떻게 표시 리스트 계층에 반영되는지를 표시합니다.
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite2.parent.name); // sprite1 trace(sprite3.parent.name); // sprite2 trace(sprite3.parent.parent.name); // sprite1
| root | property |
root:DisplayObject [read-only]
로드 된 SWF 파일내 display object의 경우,root property는 그 SWF 파일이 나타내는 표시 리스트의 트리 구조 부분의 맨 위에 있는 표시 object가 됩니다. 로드 된 이미지 파일을 나타내는 Bitmap object의 경우,root property는, Bitmap object 그 자체가 됩니다. 로드 된 최초의 SWF 파일의 메인 클래스의 인스턴스의 경우,root property는, 표시 object 그 자체가 됩니다. Stage object의 root property는, Stage object 그 자체가 됩니다. 표시 리스트에 추가되어 있지 않은 표시 object의 경우,root property에는,null 가 설정됩니다. 다만, 표시 리스트외이지만, 로드 된 SWF 파일의 최상정도 display object의 아이인 표시 object 컨테이너에 추가되고 있고 있는 경우는 제외합니다.
예를 들어,Sprite() constructor Methods를 호출해 새로운 Sprite object를 작성했을 경우, 표시 리스트 (또는, 표시 리스트의 밖에 있지만, SWF 파일의 최상정도 display object의 아이인 표시 object 컨테이너)에 추가될 때까지,root property는 null 가 됩니다.
로드 된 SWF 파일의 경우, 파일의 로드에 사용한 Loader object가 표시 리스트에 존재하지 않을 가능성도 있습니다만, SWF 파일의 최상정도 display object의 root property에는, object 그 자체가 설정됩니다. Loader object에서는,root property가 설정되어 있는 표시 object의 아이로서 추가될 때까지,root property는 설정되지 않습니다.
public function get root():DisplayObject
root property의 차이를
표시합니다. Loader object에 대해서는, 표시 리스트에 추가되기 전과 후의 양쪽 모두를 표시합니다.
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
trace(stage.root); // [object Stage]
var ldr:Loader = new Loader();
trace (ldr.root); // null
addChild(ldr);
trace (ldr.root); // [object ...]
var urlReq:URLRequest = new URLRequest("example.jpg");
ldr.load(urlReq);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event) :void {
trace(ldr.content.root); // [object Bitmap]
}
| rotation | property |
rotation:Number [read-write]
DisplayObject 인스턴스의 원래의 위치로부터의 회전각을 번단위로 가리킵니다. 시계회전에 회전시키는 경우는 0 ~ 180 의 값을 지정합니다. 반시계회전에 회전시키는 경우는 0 ~ -180 의 값을 지정합니다. 이 범위를 넘는 값은, 360 에 가산 또는 360 으로부터 감산되어 범위내에 들어가는 값이 되도록(듯이) 조정됩니다. 예를 들어,my_video.rotation = 450 이라고 하는 명령문(statement)는 my_video.rotation = 90 으로 동의입니다.
public function get rotation():Number
public function set rotation(value:Number ):void
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(-50, -50, 100, 100);
square.x = 150;
square.y = 150;
addChild(square);
square.addEventListener(MouseEvent.CLICK, rotate);
function rotate(event:MouseEvent) :void {
square.rotation += 15;
}
| scale9Grid | property |
scale9Grid:Rectangle [read-write]
현재 유효한 확대 / 축소 격자입니다. null 로 설정되어 있는 경우, 확대 또는 축소 변환이 적용된다고 표시 object 전체는 통상대로 확대 또는 축소됩니다.
scale9Grid property를 정의하면, 격자의 중앙 area를 정의하는 scale9Grid 구형에 근거해, 9 개의 area로부터 되는 격자에 표시 object가 분할됩니다. 격자의 다른 8 area는, 다음과 같은 area입니다.
구형으로 정의되는, 중심 이외의 8 개의 area는, 확대·축소시에 특별한 규칙이 적용되는 액자와 같은 것이라고 생각할 수가 있습니다.
scale9Grid property가 설정되어 있을 때 표시 object를 확대·축소하면, 텍스트와 그라데이션은 모두 통상 대로 확대·축소합니다만, 그 이외의 종류의 object에는 다음과 같은 규칙이 적용됩니다.
표시 object가 회전되면, 그 이후의 확대·축소는 모두 통상대로 되어,scale9Grid property는 무시됩니다.
예를 들어, 다음과 같은 표시 object와 그 표시 object의 scale9Grid 로서 적용되는 구형이 있다고 합니다.
![]() 표시 object입니다. |
![]() 빨강의 구형은 scale9Grid 를 나타냅니다. |
표시 object를 확대·축소 또는 신축하면, 구형내의 object는 통상 대로 확대·축소합니다만, 구형외의 object는 scale9Grid 의 규칙에 따라 확대·축소합니다.
| 75% 에 축소 : | ![]() |
| 50% 에 축소 : | ![]() |
| 25% 에 축소 : | ![]() |
| 수평 방향으로 150% 신장 : | ![]() |
scale9Grid 설정의 일반적인 사용법은, 확대·축소시에 엣지 area가 같은 폭으로 유지되는 컴퍼넌트로서 표시 object를 셋업 하는 것입니다.
public function get scale9Grid():Rectangle
public function set scale9Grid(value:Rectangle ):void
ArgumentError — Methods에 무효인 인수를 건네주었을 경우
|
See also
graphics property로 구형을 묘화 합니다. 구형은, 굵기 20 픽셀의 선을 경계에 사용해,
그라데이션으로 전부 칠합니다. 타이머 이벤트에서는 scale() 함수를 호출해,
scaleX 및 scaleY property를 조정해, Shape object를 확대·축소합니다.
scale9Grid 가 Shape object에 적용되기 (위해)때문에, 구형의 경계선은
확대·축소되지 않고, 그라데이션의 칠만이 확대·축소됩니다.
import flash.display.Shape;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.utils.Timer;
import flash.events.TimerEvent;
var square:Shape = new Shape();
square.graphics.lineStyle(20, 0xFFCC00);
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10);
square.graphics.beginGradientFill(GradientType.RADIAL,
[0xffff00, 0x0000ff],
[100, 100],
[0, 0xFF],
gradientMatrix,
SpreadMethod.REFLECT,
InterpolationMethod.RGB,
0.9);
square.graphics.drawRect(0, 0, 100, 100);
var grid:Rectangle = new Rectangle(20, 20, 60, 60);
square.scale9Grid = grid ;
addChild(square);
var tim:Timer = new Timer(100);
tim.start();
tim.addEventListener(TimerEvent.TIMER, scale);
var scaleFactor:Number = 1.01;
function scale(event:TimerEvent) :void {
square.scaleX *= scaleFactor;
square.scaleY *= scaleFactor;
if (square.scaleX > 2.0) {
scaleFactor = 0.99;
}
if (square.scaleX < 1.0) {
scaleFactor = 1.01;
}
}
| scaleX | property |
scaleX:Number [read-write]
기준점으로부터 적용되는 object의 수평 스케일 (percentage)을 나타냅니다. 디폴트의 기준점은 (0,0)입니다. 1.0 은 축척 100% 로 동등합니다.
로컬 좌표계를 확대 또는 축소하면,x 및 y property의 설정에 영향을 줍니다. 이러한 설정은, 정수의 픽셀수로 나타내집니다.
public function get scaleX():Number
public function set scaleX(value:Number ):void
graphics property로 구형을 묘화 합니다. 유저가 스프라이트를 클릭하면, 스프라이트는 10% 확대됩니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, scale);
function scale(event:MouseEvent) :void {
square.scaleX *= 1.10;
square.scaleY *= 1.10;
}
| scaleY | property |
scaleY:Number [read-write]
object의 기준점으로부터 적용되는 object의 수직 스케일 (percentage)을 나타냅니다. 디폴트의 기준점은 (0,0)입니다. 1.0 은 축척 100% 입니다.
로컬 좌표계를 확대 또는 축소하면,x 및 y property의 설정에 영향을 줍니다. 이러한 설정은, 정수의 픽셀수로 나타내집니다.
public function get scaleY():Number
public function set scaleY(value:Number ):void
graphics property로 구형을 묘화 합니다. 유저가 스프라이트를 클릭하면, 스프라이트는 10% 확대됩니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, scale);
function scale(event:MouseEvent) :void {
square.scaleX *= 1.10;
square.scaleY *= 1.10;
}
| scrollRect | property |
scrollRect:Rectangle [read-write]
표시 object의 스크롤 구형의 경계. 표시 object는 구형으로 정의된 크기에 트리밍 되어scrollRect object의 x 및 y property를 변경한다고 표시 object는 구형의 내부에서 스크롤 합니다.
scrollRect 구형 object의 property는 표시 object의 좌표 공간을 사용해, 표시 object 전체와 같이 확대 및 축소됩니다. 스크롤 하고 있는 표시 object상의 트리밍 된 윈도우의 구석의 경계는, 표시 object의 원점 (0,0), 및 구형의 폭과 높이에 의해 정의되는 포인트입니다. 이것들은 원점을 중심으로 배치되는 것이 아니라, 원점을 사용해 area의 좌상구석을 정의합니다. 스크롤 되는 표시 object는, 항상 픽셀 증분 전체 중(안)에서 스크롤 합니다.
scrollRect 구형 object의 x property를 설정하는 것으로써, object를 좌우에 스크롤 할 수 있습니다. scrollRect 구형 object의 y property를 설정하는 것으로써, object를 상하에 스크롤 할 수 있습니다. 표시 object를 90 번 회전해 좌우에 스크롤 하면, 이 표시 object는 실제로는 상하에 스크롤 합니다.
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle ):void
See also
scrollRect property가
표시 object circle 의 스크롤 area를 정의하는 방법을 나타내고 있습니다. circle object를 클릭하면,
clicked() event 핸들러 Methods가 y property
(circle object의 scrollRect property에 포함된다)(을)를 조정해, 결과적으로 object가 아래에 스크롤 합니다.
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(200, 200, 200);
circle.scrollRect = new Rectangle(0, 0, 200, 200);
addChild(circle);
circle.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent) :void {
var rect:Rectangle = event.target.scrollRect;
rect.y -= 5;
event.target.scrollRect = rect;
}
| stage | property |
stage:Stage [read-only]
표시 object의 스테이지. Flash 어플리케이션에는 Stage object가 1 개만 있습니다. 예를 들어, 복수 display object를 작성해 표시 리스트에 로드할 수가 있습니다. 그 경우, (로드 된 SWF 파일에 표시 object가 속하는 경우여도) 각각 display object의 stage property는, 같은 Stage object를 참조합니다.
표시 object가 표시 리스트에 추가되어 있지 않은 경우,stage property에는 null 가 설정됩니다.
public function get stage():Stage
width property를 사용해 텍스트 필드를 배치합니다.
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.x = 10; addChild(tf1); tf1.width = tf1.stage.stageWidth / 2 - 10; var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.x = tf1.x + tf1.width + 5; addChild(tf2); tf2.width = tf2.stage.stageWidth / 2 - 10; trace(stage.stageWidth);
| transform | property |
transform:Transform [read-write]
표시 object의 매트릭스, 칼라 변환, 픽셀 경계에 관계하는 property를 가지는 object입니다. 특정의 property matrix, colorTransform, 및 3 개의 읽기 전용(read-only) property (concatenatedMatrix,concatenatedColorTransform, 및 pixelBounds)에 대해서는, Transform 클래스에서 설명합니다.
변형 object의 각 property는, 그것 자신이 object입니다. 이 개념은 중요합니다. matrix object 또는 colorTransform object의 새로운 값을 설정하는 유일한 방법은, 새로운 object를 작성해, 그 object를 transform.matrix property 또는 transform.colorTransform property에 복사하는 것입니다.
예를 들어, 표시 object의 매트릭스의 tx 값를 늘리려면 , 다음과 같이 해 matrix object 전체의 복사를 작성한 후, 새로운 object를 변형 object의 matrix property에 복사할 필요가 있습니다.
var myMatrix:Object = myDisplayObject.transform.matrix;
myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix;
tx property를 직접 설정할 수 없습니다. 다음의 코드는 myDisplayObject 에 영향을 주지 않습니다.
myDisplayObject.transform.matrix.tx += 10;
또, 변형 object 전체를 복사해, 그것을 다른 표시 object의 transform property에 할당할 수도 있습니다. 예를 들어, 다음의 코드에서는, 변형 object 전체를 myOldDisplayObj 로부터 myNewDisplayObj 에 복사합니다.
myNewDisplayObj.transform = myOldDisplayObj.transform;
생성되는 표시 object myNewDisplayObj 의 매트릭스, 칼라 변환, 픽셀 경계는, 낡은 표시 object myOldDisplayObj 와 같은 값이 됩니다.
public function get transform():Transform
public function set transform(value:Transform ):void
See also
square 를 설정합니다.
유저가 스프라이트를 클릭하면,transformer() Methods에 의해,
스프라이트의 transform property의 colorTransform 및 matrix
property가 조정됩니다.
import flash.display.Sprite;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Transform;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.lineStyle(20, 0xFF2200);
square.graphics.beginFill(0x0000DD);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
var resultColorTransform:ColorTransform = new ColorTransform();
resultColorTransform.alphaMultiplier = 0.5;
resultColorTransform.redOffset = 155;
resultColorTransform.greenMultiplier = 0.5;
var skewMatrix:Matrix = new Matrix(1, 1, 0, 1);
square.addEventListener(MouseEvent.CLICK, transformer);
function transformer(event:MouseEvent) :void {
var transformation:Transform = square.transform;
var tempMatrix:Matrix = square.transform.matrix;
tempMatrix.concat(skewMatrix);
square.transform.colorTransform = resultColorTransform;
square.transform.matrix = tempMatrix;
}
| visible | property |
visible:Boolean [read-write]
표시 object가 가시인가 어떤가를 나타냅니다. 비가시 display object는 무효가 됩니다. 예를 들어, 어느 InteractiveObject 인스턴스가 visible=false 로 설정되어 있는 경우, 이것을 클릭할 수 없습니다.
public function get visible():Boolean
public function set visible(value:Boolean ):void
visible property를 정기적으로 변경하는 함수를 호출해,
점멸의 effect를 실행합니다.
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;
var tf:TextField = new TextField();
tf.text = "Hello. ";
addChild(tf);
var tim:Timer = new Timer(250);
tim.start();
tim.addEventListener(TimerEvent.TIMER, blinker);
function blinker(event:TimerEvent) :void {
tf.visible = ! tf.visible;
}
| width | property |
width:Number [read-write]표시 object의 폭을 나타냅니다 (픽셀 단위).
Implements public function get width():Number
public function set width(value:Number ):void
square 를 설정합니다.
유저가 스프라이트를 클릭하면,widen() Methods에 의해,
스프라이트의 width property가 증가합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, widen);
function widen(event:MouseEvent) :void {
square.width += 10;
}
| x | property |
x:Number [read-write]친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 x 좌표를 나타냅니다. 변형되고 있는 DisplayObjectContainer 에 object가 포함되는 경우, 그 object의 좌표계는, 그것을 둘러싸는 DisplayObjectContainer 의 로컬 좌표계가 됩니다. 따라서, 반시계회전에 90 번 회전한 DisplayObjectContainer 의 경우, 그 DisplayObjectContainer 의 아이는, 반시계회전에 90 번 회전한 좌표계를 Inheritance합니다. object의 좌표는, 기준점의 위치를 참조합니다.
Implements public function get x():Number
public function set x(value:Number ):void
circle 를 설정합니다.
Timer object를 사용해, 스프라이트의 x property를
50 밀리 세컨드 일로 변경합니다.
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(100, 100, 100);
addChild(circle);
var tim:Timer = new Timer(50);
tim.start();
tim.addEventListener(TimerEvent.TIMER, bounce);
var xInc:Number = 2;
function bounce(event:TimerEvent) :void {
circle.x += xInc;
if (circle.x > circle.width) {
xInc = -2;
}
if (circle.x < 0) {
xInc = 2;
}
}
| y | property |
y:Number [read-write]친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 y 좌표를 나타냅니다. 변형되고 있는 DisplayObjectContainer 에 object가 포함되는 경우, 그 object의 좌표계는, 그것을 둘러싸는 DisplayObjectContainer 의 로컬 좌표계가 됩니다. 따라서, 반시계회전에 90 번 회전한 DisplayObjectContainer 의 경우, 그 DisplayObjectContainer 의 아이는, 반시계회전에 90 번 회전한 좌표계를 Inheritance합니다. object의 좌표는, 기준점의 위치를 참조합니다.
Implements public function get y():Number
public function set y(value:Number ):void
textHeight property에 근거해 각각의 height property를
조정합니다. 또,y property를 설정해, 2 번째의 텍스트 필드를 배치합니다.
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
| getBounds | () | Methods |
public function getBounds(targetCoordinateSpace:DisplayObject ):Rectangle
targetCoordinateSpace object의 좌표계를 기준으로 해, 표시 object의 area를 정의하는 구형을 돌려줍니다. 이하의 코드는, 어떤 targetCoordinateSpace Parameters를 Methods에 건네줄까에 응해, 다양한 구형이 돌려주어지는 것을 나타내고 있습니다.
var container:Sprite = new Sprite();
container.x = 100;
container.y = 100;
this.addChild(container);
var contents:Shape = new Shape();
contents.graphics.drawCircle(0,0,100);
container.addChild(contents);
trace(contents.getBounds(container));
// (x=-100, y=-100, w=200, h=200)
trace(contents.getBounds(this));
// (x=0, y=0, w=200, h=200)
메모:표시 object의 로컬 좌표를 표시 좌표에, 또는 표시 좌표를 로컬 좌표로 변환하려면 , 각각 localToGlobal() 및 globalToLocal() Methods를 사용합니다.
getBounds() Methods는 getRect() Methods를 닮아 있습니다만,getBounds() Methods로부터 돌려주어지는 구형에는 셰이프의 선이 포함되는데 대해,getRect() Methods로부터 돌려주어지는 구형에는 포함되지 않습니다. 예에 대해서는,getRect() Methods에 관한 설명을 참조해 주세요.
targetCoordinateSpace:DisplayObject — 사용하는 좌표계를 정의하는 표시 object입니다.
|
Rectangle —
targetCoordinateSpace object의 좌표계를 기준으로 한다, 표시 object의 area를 정의하는 구형입니다.
|
See also
| getRect | () | Methods |
public function getRect(targetCoordinateSpace:DisplayObject ):Rectangle
셰이프상의 선을 제외해,targetCoordinateSpace Parameters에 의해 정의된 좌표계에 근거해, 표시 object의 경계를 정의하는 구형을 돌려줍니다. getRect() Methods로부터 돌려주어지는 값은,getBounds() Methods로부터 돌려주어지는 값과 같은가, 그것보다 작아집니다.
메모:표시 object의 로컬 좌표를 스테이지 좌표에, 또는 스테이지 좌표를 로컬 좌표로 변환하려면 , 각각 localToGlobal() 및 globalToLocal() Methods를 사용합니다.
targetCoordinateSpace:DisplayObject — 사용하는 좌표계를 정의하는 표시 object입니다.
|
Rectangle —
targetCoordinateSpace object의 좌표계를 기준으로 한다, 표시 object의 area를 정의하는 구형입니다.
|
See also
getBounds() Methods에 의해,
getRect() Methods를 사용했을 때보다 큰 구형이 돌려주어지는 경우가 있는 것을 나타내고 있습니다. 그렇게 되는 이유는, 추가적인 area가
선에 필요하기 (위해)때문에입니다. 이 경우,triangle 스프라이트에는 여분의 선이 포함됩니다
(lineStyle() Methods의 width 및 jointStyle Parameters가
Methods를 호출합니다. trace() 의 출력 (마지막 2 행)은,
getRect() 와 getBounds() 의 구형의 차이를 나타내고 있습니다.
import flash.display.CapsStyle; import flash.display.JointStyle; import flash.display.LineScaleMode; import flash.display.Sprite; import flash.geom.Rectangle; var triangle:Sprite = new Sprite(); var color:uint = 0xFF0044; var width:Number = 20; var alpha:Number = 1.0; var pixelHinting:Boolean = true; var scaleMode:String = LineScaleMode.NORMAL; var caps:String = CapsStyle.SQUARE; var joints:String = JointStyle.MITER; triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints); var triangleSide:Number = 100; triangle.graphics.moveTo(0, 0); triangle.graphics.lineTo(0, triangleSide); triangle.graphics.lineTo(triangleSide, triangleSide); triangle.graphics.lineTo(0, 0); addChild(triangle); trace(triangle.getBounds(this)); // (x=-10, y=-24. 1, w=134. 10000000000002, h=134. 1) trace(triangle.getRect(this)); // (x=0, y=0, w=100, h=100)
| globalToLocal | () | Methods |
public function globalToLocal(point:Point ):Point
point object를 스테이지 (글로벌) 좌표로부터 표시 object의 (로컬) 좌표로 변환합니다.
이 Methods를 사용하려면 , 우선 Point 클래스의 인스턴스를 작성해 주세요. 할당할 수 있는 x 값와 y 값는, 메인 표시 area의 기점 (0,0)으로부터의 상대치이기 (위해)때문에, 이러한 값은 글로벌 좌표를 나타냅니다. 다음에, Point 인스턴스를 globalToLocal() Methods에 Parameters로서 건네줍니다. 이 Methods는, Stage 의 기점은 아니고, 표시 object의 기점으로부터의 상대치인 x 값와 y 값를 가지는 새로운 Point object를 돌려줍니다.
point:Point — Point 클래스를 사용해 작성되는 object입니다. Point object는,x 및 y 좌표를 property로서 지정합니다.
|
Point —
표시 object로부터의 상대 좌표를 가지는 Point object입니다.
|
See also
hitTestPoint() Methods를 다양한 포인트의 Parameters로 호출했을 때의
결과를 표시합니다. globalToLocal() Methods는,
포인트를 스테이지 좌표로부터 셰이프의 좌표 공간으로 변환합니다.
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
| hitTestObject | () | Methods |
public function hitTestObject(obj:DisplayObject ):Boolean
표시 object를 평가해,obj 표시 object와 중복 또는 교차할지 어떨지를 조사합니다.
obj:DisplayObject — 검사의 대상이 되는 표시 object입니다.
|
Boolean —
표시 object가 교차하는 경우는 true, 그렇지 않은 경우는 false 입니다.
|
hitTestObject() Methods를 호출했을 때의 결과를 표시합니다.
import flash.display.Shape; var circle1:Shape = new Shape(); circle1.graphics.beginFill(0x0000FF); circle1.graphics.drawCircle(40, 40, 40); addChild(circle1); var circle2:Shape = new Shape(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(40, 40, 40); circle2.x = 50; addChild(circle2); var circle3:Shape = new Shape(); circle3.graphics.beginFill(0xFF0000); circle3.graphics.drawCircle(40, 40, 40); circle3.x = 100; circle3.y = 67; addChild(circle3); trace(circle1.hitTestObject(circle2)); // true trace(circle1.hitTestObject(circle3)); // true trace(circle2.hitTestObject(circle3)); // true
| hitTestPoint | () | Methods |
public function hitTestPoint(x:Number , y:Number , shapeFlag:Boolean = false):Boolean
표시 object를 평가해,x 및 y Parameters로 지정된 포인트와 중복 또는 교차할지 어떨지를 조사합니다. x 및 y Parameters는, 표시 object가 포함되는 표시 object 컨테이너는 아니고 Stage 의 좌표 공간내의 포인트를 지정합니다 (그 표시 object 컨테이너가 Stage 의 경우를 제외하다).
x:Number — 이 object의 검사의 기준이 되는 x 좌표입니다.
|
|
y:Number — 이 object의 검사의 기준이 되는 y 좌표입니다.
|
|
shapeFlag:Boolean (default = false) — object의 실제의 픽셀과 비교해 검사하는 경우는 true, 경계 박스와 비교해 검사하는 경우는 false 입니다.
|
Boolean —
지정된 포인트와 표시 object가 중복 또는 교차하는 경우는 true, 그렇지 않으면 false 입니다.
|
See also
hitTestPoint() Methods를 다양한 포인트의 Parameters로 호출했을 때의
결과를 표시합니다. globalToLocal() Methods는,
포인트를 스테이지 좌표로부터 셰이프의 좌표 공간으로 변환합니다.
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
| localToGlobal | () | Methods |
public function localToGlobal(point:Point ):Point
point object를 표시 object의 (로컬) 좌표로부터 스테이지 (글로벌) 좌표로 변환합니다.
이 Methods를 사용하면, 특정 display object의 기점 (0,0)과의 상대치 (로컬 좌표)로부터 스테이지의 기점과의 상대치 (글로벌 좌표)에, 임의의 x 및 y 좌표를 변환할 수 있습니다.
이 Methods를 사용하려면 , 우선 Point 클래스의 인스턴스를 작성해 주세요. 할당할 수 있는 x 값와 y 값는, 표시 object의 기점으로부터의 상대치이기 (위해)때문에, 이러한 값은 로컬 좌표를 나타냅니다.
다음에, 작성한 Point 인스턴스를 localToGlobal() Methods에 Parameters로서 건네줍니다. 이 Methods는, 표시 object의 기점은 아니고, Stage 의 기점으로부터의 상대치인 x 값와 y 값를 가지는 새로운 Point object를 돌려줍니다.
point:Point — Point 클래스를 사용해,x 및 y 좌표를 property로서 지정해 작성되는 포인트의 이름 또는 식별자입니다.
|
Point —
스테이지로부터의 상대 좌표를 가지는 Point object입니다.
|
See also
mouseX
및 mouseY property는, 표시 object의
좌표 공간내에 존재합니다. 이 코드에서는,localToGlobal() Methods를 사용해, 이러한
property를 글로벌 (스테이지) 좌표로 변환하고 있습니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
square.x = 100;
square.y = 200;
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates)
function traceCoordinates(event:MouseEvent) :void {
var clickPoint:Point = new Point(square.mouseX, square.mouseY);
trace("display object coordinates:", clickPoint);
trace("stage coordinates:", square.localToGlobal(clickPoint));
}
| activate | event |
flash.events.Event
flash.events.Event.ACTIVATE
Flash Player 가 operating system의 포커스를 취득해, 액티브하게 되었을 때에 dispatch됩니다.
activate event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | ACTIVATE 이벤트에 대한 listener가 등록된 임의의 DisplayObject 인스턴스입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
| added | event |
flash.events.Event
flash.events.Event.ADDED
표시 object가 표시 리스트에 추가되었을 때에 dispatch됩니다. 이하의 Methods가 이 이벤트를 방아쇠 합니다. DisplayObjectContainer.addChild(), DisplayObjectContainer.addChildAt().
added event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | true |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 표시 리스트에 추가되는 DisplayObejct 인스턴스입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
See also
| deactivate | event |
flash.events.Event
flash.events.Event.DEACTIVATE
Flash Player 가 operating system의 포커스를 잃어, 비액티브하게 되었을 때에 dispatch됩니다.
deactivate event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | DEACTIVATE 이벤트에 대한 listener가 등록된 임의의 DisplayObject 인스턴스입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
| enterFrame | event |
flash.events.Event
flash.events.Event.ENTER_FRAME
재생 헤드가 새로운 프레임에 들어갈 때 dispatch됩니다. 재생 헤드가 이동하지 않는 경우, 또는 프레임이 1 개 밖에 존재하지 않는 경우, 이 이벤트는 frame rate에 맞추어 계속적으로 dispatch됩니다. 이 이벤트는, 이 이벤트를 받는 모든 표시 object에 대해서 동시에 dispatch됩니다.
enterFrame event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | ENTER_FRAME 이벤트에 대한 listener가 등록된 임의의 DisplayObject 인스턴스입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
| removed | event |
flash.events.Event
flash.events.Event.REMOVED
표시 object가 표시 리스트로부터 삭제 되려고 하고 있을 때 dispatch됩니다. 이 이벤트를 생성하는 DisplayObjectContainer 클래스의 2 개의 Methods는,removeChild() 및 removeChildAt() 입니다.
게다가 새로운 object의 area를 확보하기 위해서 object를 삭제할 필요가 있는 경우에는, DisplayObjectContainer object의 addChild() Methods 및 addChildAt() setChildIndex() Methods도 또, 이 이벤트를 생성합니다.
removed event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | true |
cancelable | false 는, 캔슬하는 디폴트의 동작이 없는 것을 나타냅니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | 표시 리스트로부터 삭제되는 DisplayObejct 인스턴스입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
| render | event |
flash.events.Event
flash.events.Event.RENDER
표시 리스트가 갱신 및 렌더링 되려고 하고 있을 때 dispatch됩니다. 이 이벤트는, 표시 리스트의 렌더링전에, 이 이벤트를 릿슨 하고 있는 object가 변경을 실시하는 마지막 기회를 제공합니다. Flash Player 는 디폴트 동작으로서 표시 리스트를 렌더링 합니다. Flash Player 에 render 이벤트를 dispatch시키는 경우는, 그때마다, Stage object의 invalidate() Methods를 호출할 필요가 있습니다. Render 이벤트는,Stage.invalidate() 를 호출한 object와의 사이에 상호의 신뢰 관계가 있는 object 밖에 dispatch되지 않습니다.
메모 :Flash Player 윈도우가 렌더링 되지 않는 경우에는, 이 이벤트는 dispatch되지 않습니다. 이것이 해당하는 것은, Flash Player 윈도우가 최소화 또는 비표시가 되어 있는 경우입니다.
render event object의 type property의 값을 정의합니다.
이 이벤트에는, 다음의 property가 있습니다.
| Property | Value |
|---|---|
bubbles | false |
cancelable | false. 디폴트의 동작을 캔슬할 수 없습니다. |
currentTarget | event listener로 Event object를 액티브하게 처리하고 있는 object입니다. |
target | RENDER 이벤트에 대한 listener가 등록된 임의의 DisplayObject 인스턴스입니다. target 는, 반드시 event listener를 등록한 표시 리스트내의 object라고는 할 수 없습니다. 현재 이벤트를 처리하고 있는 표시 리스트내의 object에 액세스 하려면 ,currentTarget property를 사용합니다. |
DisplayObjectExample 클래스를 사용해,
오렌지색의 사각형을 스테이지의 구석에 묘화 한 후, 각 이벤트에 관한 텍스트 정보를 표시하는 것에 의해
이벤트에 응답합니다. 이것을 실시하려면 , 이하의 순서를 실행합니다.
draw() Methods를 호출합니다. 이 Methods는 오렌지색의 사각형을
스테이지의 디폴트 좌표 x = 0, y = 0 에 묘화 합니다. addedHandler() 는 added 이벤트를 릿슨 합니다. 이 이벤트는
사각형이 표시 리스트에 추가되었을 때에 dispatch됩니다. enterFrameHandler() 는 enterFrame 이벤트를 릿슨 합니다. 이 이벤트는
이 예에서는 특히 의미가 없습니다. removedHandler() 는 removed 이벤트를 릿슨 합니다. 이 이벤트는
(사각형이 클릭되어) 사각형이 표시 리스트로부터 제거되었을 때에 dispatch됩니다. clickHandler() 는 click 이벤트를 릿슨 합니다. 이 이벤트는
오렌지색의 사각형이 클릭되었을 때에 dispatch됩니다. renderHandler() 는, 표시 리스트가 갱신된 후에 render 이벤트를
릿슨 합니다.
package {
import flash.display.Sprite;
public class DisplayObjectExample extends Sprite {
public function DisplayObjectExample() {
var child:CustomDisplayObject = new CustomDisplayObject();
addChild(child);
}
}
}
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events. *;
class CustomDisplayObject extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
public function CustomDisplayObject() {
draw();
addEventListener(Event.ADDED, addedHandler);
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
addEventListener(Event.REMOVED, removedHandler);
addEventListener(MouseEvent.CLICK, clickHandler);
addEventListener(Event.RENDER, renderHandler);
}
private function draw() :void {
graphics.beginFill(bgColor);
graphics.drawRect(0, 0, size, size);
graphics.endFill();
}
private function clickHandler(event:MouseEvent) :void {
trace("clickHandler: " + event);
parent.removeChild(this);
}
private function addedHandler(event:Event) :void {
trace("addedHandler: " + event);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener("resize", resizeHandler);
}
private function enterFrameHandler(event:Event) :void {
trace("enterFrameHandler: " + event);
removeEventListener("enterFrame", enterFrameHandler);
}
private function removedHandler(event:Event) :void {
trace("removedHandler: " + event);
stage.removeEventListener("resize", resizeHandler);
}
private function renderHandler(event:Event) :void {
trace("renderHandler: " + event);
}
private function resizeHandler(event:Event) :void {
trace("resizeHandler: " + event);
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/display/DisplayObject.html