| Package | flash.display |
| Class | public class Sprite |
| Inheritance | Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| Subclasses | DownloadProgressBar , FlexSprite , MovieClip , Preloader |
Sprite object는 무비 클립과 닮아 있습니다만, 타임 라인을 가지지 않습니다. Sprite 는, 타임 라인을 필요로 하지 않는 object에 적절한 기본 클래스입니다. 예를 들어, Sprite 는, 통상은 타임 라인을 사용하지 않는 유저 인터페이스 (UI) 컴퍼넌트의 논리 기본 클래스가 됩니다.
Sprite 클래스는, ActionScript 3.0 에서의 새로운 클래스입니다. 이것은 MovieClip 클래스의 대체 기능을 제공합니다. 또, 이전의 릴리스의 ActionScript 의 모든 기능을 유지하고 있으므로 후방 호환성이 있습니다.
See also
| property | 정의 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
이 표시 object의 현재의 accessibility options입니다.
| DisplayObject | |
![]() | alpha : Number
지정된 object의 알파 투명도 값을 나타냅니다.
| DisplayObject | |
![]() | blendMode : String
사용하는 브렌드 모드를 지정하는 BlendMode 클래스의 값입니다.
| DisplayObject | |
| buttonMode : Boolean
이 스프라이트의 버튼 모드를 지정합니다.
| Sprite | ||
![]() | cacheAsBitmap : Boolean
true 로 설정되어 있는 경우, 표시 object의 내부 비트 맵 표현이 Flash Player 에 캐쉬됩니다. | DisplayObject | |
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
![]() | contextMenu : ContextMenu
이 object에 관련지을 수 있었던 context menu를 지정합니다.
| InteractiveObject | |
![]() | doubleClickEnabled : Boolean
object가
doubleClick 이벤트를 받을지 어떨지를 지정합니다. | InteractiveObject | |
| dropTarget : DisplayObject
[read-only]
스프라이트의 드러그처 또는 스프라이트가 드롭 된 앞 display object를 지정합니다.
| Sprite | ||
![]() | filters : Array
표시 object에 현재 관련지을 수 있고 있는 각 필터 object가 포함되고 있는 인덱스 첨부의 배열입니다.
| DisplayObject | |
![]() | focusRect : Object
이 object가 포커스 구형을 표시할지 어떨지를 지정합니다.
| InteractiveObject | |
| graphics : Graphics
[read-only]
벡터의 묘화 커멘드가 발생하는, 이 스프라이트에 속하는 Graphics object를 지정합니다.
| Sprite | ||
![]() | height : Number
표시 object의 높이를 나타냅니다 (픽셀 단위).
| DisplayObject | |
| hitArea : Sprite
스프라이트의 히트 area가 되는 다른 스프라이트를 지정합니다.
| Sprite | ||
![]() | loaderInfo : LoaderInfo
이 표시 object가 속하는 파일의 로드 정보를 포함한 LoaderInfo object를 돌려줍니다.
| DisplayObject | |
![]() | mask : DisplayObject
호출원 display object는, 지정된
mask object에 의해 마스크 됩니다. | DisplayObject | |
![]() | mouseChildren : Boolean
object의 아이에 대해서 마우스가 유효한가 어떤가를 조사합니다.
| DisplayObjectContainer | |
![]() | mouseEnabled : Boolean
이 object가 마우스 메세지를 받아들일지 어떨지를 지정합니다.
| InteractiveObject | |
![]() | mouseX : Number
마우스 위치의 x 좌표를 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | mouseY : Number
마우스 위치의 y 좌표를 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | name : String
DisplayObject 의 인스턴스명을 나타냅니다.
| DisplayObject | |
![]() | numChildren : int
이 object의 아이의 수를 돌려줍니다.
| DisplayObjectContainer | |
![]() | opaqueBackground : Object
표시 object가 특정의 배경색으로 불투명한지 어떤지를 지정합니다.
| DisplayObject | |
![]() | parent : DisplayObjectContainer
이 표시 object를 포함한 DisplayObjectContainer object를 나타냅니다.
| DisplayObject | |
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
![]() | root : DisplayObject
로드 된 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 | |
| soundTransform : SoundTransform
이 스프라이트내의 사운드를 제어합니다.
| Sprite | ||
![]() | stage : Stage
표시 object의 스테이지.
| DisplayObject | |
![]() | tabChildren : Boolean
object의 아이에 대해서 탭이 유효한가 어떤가를 조사합니다.
| DisplayObjectContainer | |
![]() | tabEnabled : Boolean
이 object가 탭 순서에 포함될지 어떨지를 지정합니다.
| InteractiveObject | |
![]() | tabIndex : int
SWF 파일내의 object의 탭 순서를 지정합니다.
| InteractiveObject | |
![]() | textSnapshot : TextSnapshot
이 DisplayObjectContainer 인스턴스의 TextSnapshot object를 돌려줍니다.
| DisplayObjectContainer | |
![]() | transform : Transform
표시 object의 매트릭스, 칼라 변환, 픽셀 경계에 관계하는 property를 가지는 object입니다.
| DisplayObject | |
useHandCursor : Boolean
buttonMode property가 true 로 설정된 스프라이트상에 마우스가 이동했을 때에, 가리켜 핸드 포인터 (핸드 커서)를 표시할지 어떨지를 나타내는 불리언 값입니다. | Sprite | ||
![]() | visible : Boolean
표시 object가 가시인가 어떤가를 나타냅니다.
| DisplayObject | |
![]() | width : Number
표시 object의 폭을 나타냅니다 (픽셀 단위).
| DisplayObject | |
![]() | x : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 x 좌표를 나타냅니다.
| DisplayObject | |
![]() | y : Number
친 DisplayObjectContainer 의 로컬 좌표를 기준으로 한 DisplayObject 인스턴스의 y 좌표를 나타냅니다.
| DisplayObject | |
| Methods | 정의 | ||
|---|---|---|---|
| Sprite ()
새로운 Sprite 인스턴스를 작성합니다.
| Sprite | ||
![]() | addChild (child:DisplayObject ):DisplayObject
이 DisplayObjectContainer 인스턴스에 child DisplayObject 인스턴스를 추가합니다.
| DisplayObjectContainer | |
![]() | addChildAt (child:DisplayObject , index:int ):DisplayObject
이 DisplayObjectContainer 인스턴스에 child DisplayObject 인스턴스를 추가합니다.
| DisplayObjectContainer | |
![]() | addEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
| EventDispatcher | |
![]() | areInaccessibleObjectsUnderPoint (point:Point ):Boolean
특정의
point 포인트를 지정해 호출한 DisplayObjectContainer.getObjectsUnderPoint() Methods로부터 돌려주어진 리스트에, 시큐러티상의 제약을 위해서(때문에) 생략 되는 표시 object가 있을지 어떨지를 나타냅니다. | DisplayObjectContainer | |
![]() | contains (child:DisplayObject ):Boolean
지정된 표시 object가, DisplayObjectContainer 인스턴스의 아이인지, 인스턴스 자체인지를 지정합니다.
| DisplayObjectContainer | |
![]() | dispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
| EventDispatcher | |
![]() | getBounds (targetCoordinateSpace:DisplayObject ):Rectangle
targetCoordinateSpace object의 좌표계를 기준으로 해, 표시 object의 area를 정의하는 구형을 돌려줍니다. | DisplayObject | |
![]() | getChildAt (index:int ):DisplayObject
지정의 인덱스 위치에 있는 child 표시 object 인스턴스를 돌려줍니다.
| DisplayObjectContainer | |
![]() | getChildByName (name:String ):DisplayObject
지정된 이름에 일치하는 child 표시 object를 돌려줍니다.
| DisplayObjectContainer | |
![]() | getChildIndex (child:DisplayObject ):int
child DisplayObject 인스턴스의 인덱스 위치를 돌려줍니다. | DisplayObjectContainer | |
![]() | getObjectsUnderPoint (point:Point ):Array
지정된 포인트아래에 있어, 이 DisplayObjectContainer 인스턴스의 child 또는 손자등인 object의 배열을 돌려줍니다.
| DisplayObjectContainer | |
![]() | 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 | |
![]() | removeChild (child:DisplayObject ):DisplayObject
DisplayObjectContainer 인스턴스의 child 리스트로부터 지정의
child DisplayObject 인스턴스를 삭제합니다. | DisplayObjectContainer | |
![]() | removeChildAt (index:int ):DisplayObject
DisplayObjectContainer 의 child 리스트의 지정된
index 위치로부터 child DisplayObject 를 삭제합니다. | DisplayObjectContainer | |
![]() | removeEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
| EventDispatcher | |
![]() | setChildIndex (child:DisplayObject , index:int ):void
표시 object 컨테이너의 기존의 아이의 위치를 변경합니다.
| DisplayObjectContainer | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| startDrag (lockCenter:Boolean = false, bounds:Rectangle = null):void
지정된 스프라이트를 유저가 드러그 할 수 있도록(듯이) 합니다.
| Sprite | ||
stopDrag ():void
startDrag() Methods를 종료합니다. | Sprite | ||
![]() | swapChildren (child1:DisplayObject , child2:DisplayObject ):void
지정된 2 살의 child object의 z 순서 (겹침순서)를 바꿔 넣습니다.
| DisplayObjectContainer | |
![]() | swapChildrenAt (index1:int , index2:int ):void
아이 리스트내의 지정된 인덱스 위치에 해당하는 2 살의 child object의 z 순서 (겹침순서)를 바꿔 넣습니다.
| DisplayObjectContainer | |
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
![]() | willTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
| EventDispatcher | |
| buttonMode | property |
buttonMode:Boolean [read-write]
이 스프라이트의 버튼 모드를 지정합니다. true 의 경우, 이 스프라이트는 버튼으로서 동작합니다. 이 경우, 이 스프라이트는, 마우스가 이 스프라이트상을 지나면 핸드 커서의 표시를 방아쇠 해, 이 스프라이트에 포커스가 있을 때 Enter 키 또는 Space 키가 밀리면 click 이벤트를 받을 수가 있습니다. useHandCursor property를 false 로 설정하는 것으로써, 핸드 커서의 표시를 억제할 수가 있습니다. 이 경우는 포인터가 표시됩니다.
SimpleButton 클래스를 사용해 버튼을 작성하는 (분)편이 바람직한 Implements입니다만,buttonMode property를 사용하는 것으로써, 스프라이트에 버튼을 닮은 기능을 갖게할 수가 있습니다. 탭 순서에 스프라이트를 짜넣으려면 ,tabEnabled property (InteractiveObject 클래스로부터 Inheritance되고 디폴트는 false)를 true 로 설정합니다. 게다가 스프라이트의 아이를 마우스 대응으로 할지 어떨지도 검토해 주세요. event 플로우(flow)가 혼란하기 위해(때문에), 대부분의 버튼에서는 그 child object에 대한 마우스 조작을 유효하게 하지 않습니다. 모든 child object에 대한 마우스 조작을 무효로 하려면 ,mouseChildren property (DisplayObjectContainer 클래스로부터 Inheritance)를 false 로 설정합니다.
MovieClip 클래스 (Sprite 클래스의 서브 클래스)에서 buttonMode property를 사용하면, 버튼에 몇개의 기능을 추가할 수가 있습니다. _up, _over, 및 _down 의 label가 붙은 프레임을 짜넣으면, 자동 상태 변화가 됩니다 (이전의 버젼의 ActionScript 로 제공되고 있던, 버튼으로서 사용되는 무비 클립용의 기능과 닮은 기능). 이러한 자동 상태 변화는, 스프라이트에서는 사용할 수 없습니다. 스프라이트는 타임 라인을 가지지 않고, 그 때문에 label를 붙이는 프레임이 없기 때문입니다.
public function get buttonMode():Boolean
public function set buttonMode(value:Boolean ):void
See also
buttonMode
property를, 한편은 true 에, 이제(벌써) 한편은 false 로 설정합니다. 어플리케이션을 컴파일 해
실행하면, 양쪽 모두의 스프라이트와도 마우스 이벤트에 응답합니다만,
buttonMode 가 true 로 설정된 (분)편만이 핸드 커서를 사용해,
탭 순서에 짜넣어집니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.buttonMode = true;
circle1.addEventListener(MouseEvent.CLICK, clicked);
var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0xFFCC00);
circle2.graphics.drawCircle(120, 40, 40);
circle2.buttonMode = false;
circle2.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent) :void {
trace ("Click! ");
}
addChild(circle1);
addChild(circle2);
| dropTarget | property |
dropTarget:DisplayObject [read-only]스프라이트의 드러그처 또는 스프라이트가 드롭 된 앞 display object를 지정합니다.
Implements public function get dropTarget():DisplayObject
See also
circle 스프라이트와 2 개의 target
스프라이트를 작성합니다. 유저가 커서의 위치를 circle 스프라이트에 맞추어 mouse button를 누르면, 이 스프라이트에 대해서 startDrag() Methods가 불려 가
유저가 mouse button를 떼어 놓으면,stopDrag() Methods가
불려 갑니다. 이것에 의해, 유저는 스프라이트를 드러그 할 수 있게 됩니다. mouse button를 떼어 놓았을 때에
mouseRelease() Methods가 불려 가 이 Methods가
dropTarget object의 name 를 트레이스 합니다. 이 object는, 유저가
circle 스프라이트를 드러그 해 드롭 한 object입니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);
var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";
var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";
addChild(target1);
addChild(target2);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent) :void {
circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent) :void {
circle.stopDrag();
trace(circle.dropTarget.name);
}
| graphics | property |
graphics:Graphics [read-only]벡터의 묘화 커멘드가 발생하는, 이 스프라이트에 속하는 Graphics object를 지정합니다.
Implements public function get graphics():Graphics
See also
circle 스프라이트를 작성해, 그
graphics property를 사용해 황색 (0xFFCC00)으로 전부 칠한 엔을 묘화 합니다.
import flash.display.Sprite; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); addChild(circle);
| hitArea | property |
hitArea:Sprite [read-write]
스프라이트의 히트 area가 되는 다른 스프라이트를 지정합니다. hitArea property가 존재하지 않는지, 이 property의 값이 null 또는 undefined 의 경우는, 스프라이트 자체가 히트 area로서 사용됩니다. hitArea property의 값은, Sprite object에의 참조인 경우가 있습니다.
hitArea property는 언제라도 변경할 수 있습니다. 이 property를 변경한 스프라이트에는 새로운 히트 area의 동작이 즉시 반영됩니다. 히트 area로서 지정한 스프라이트는 가시 상태일 필요는 없습니다. 불가시 상태여도, 그 그래피컬 셰이프를 히트 area로서 검출할 수 있습니다.
메모: 히트 area로서 지정한 스프라이트의 mouseEnabled property는 false 로 설정할 필요가 있습니다. 그렇게 하지 않으면 히트 area로서 지정한 스프라이트가 스프라이트 버튼은 아니고 마우스 이벤트를 받으므로, 스프라이트 버튼이 기능하지 않을 가능성이 있습니다.
public function get hitArea():Sprite
public function set hitArea(value:Sprite ):void
circle 스프라이트와 square
스프라이트를 작성합니다. square 스프라이트는 circle 스프라이트의 hitArea 입니다.
따라서, 유저가 square 스프라이트를 클릭하면,circle 스프라이트는
click 이벤트를 dispatch합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);
var square:Sprite = new Sprite();
square.graphics.beginFill(0xCCFF00);
square.graphics.drawRect(200, 0, 100, 100);
circle.hitArea = square;
square.mouseEnabled = false;
circle.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent) :void{
trace(event.target == circle); // true
trace(event.target == square); // false
}
addChild(circle);
addChild(square);
| soundTransform | property |
soundTransform:SoundTransform [read-write]이 스프라이트내의 사운드를 제어합니다.
Implements public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform ):void
See also
container 라는 이름의 스프라이트를 작성해,
그 child 리스트에 Loader object를 추가합니다. Loader object는 SWF 파일을 로드합니다.
유저가 tf 텍스트 필드내의 링크 true 를 클릭하면,
mute() Methods는,container 스프라이트의
soundTransform property의 volume property를 설정합니다.
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.media.SoundTransform;
var container:Sprite = new Sprite();
addChild(container);
var ldr:Loader = new Loader;
var urlReq:URLRequest = new URLRequest("SoundPlayer.swf");
ldr.load(urlReq);
container.addChild(ldr);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound);
var tf:TextField = new TextField();
tf.htmlText = "<a href = 'event:Mute'>Mute / Unmute</a>";
addChild(tf);
var mySoundTransform:SoundTransform = new SoundTransform();
mySoundTransform.volume = 1;
tf.addEventListener(MouseEvent.CLICK, mute);
function mute(event:MouseEvent) :void {
if (mySoundTransform.volume == 0) {
mySoundTransform.volume = 1;
} else {
mySoundTransform.volume = 0;
}
container.soundTransform = mySoundTransform;
}
function urlNotFound(event:IOErrorEvent) :void {
trace("The URL was not found. ");
}
| useHandCursor | property |
useHandCursor:Boolean [read-write]
buttonMode property가 true 로 설정된 스프라이트상에 마우스가 이동했을 때에, 가리켜 핸드 포인터 (핸드 커서)를 표시할지 어떨지를 나타내는 불리언 값입니다. useHandCursor property의 디폴트치는 true 입니다. useHandCursor 를 true 로 설정하면, 마우스가 버튼 스프라이트상으로 이동했을 때에, 가리켜 상태의 핸드 커서가 표시됩니다. useHandCursor 를 false 로 설정하면, 대신에 화살표의 포인터가 사용됩니다.
useHandCursor property는 언제라도 변경할 수 있습니다. 이 property를 변경한 스프라이트에는, 새로운 커서 외관이 즉시 반영됩니다.
메모: 자를 가지는 스프라이트의 경우는,mouseChildren property를 false 로 설정합니다. 예를 들어, Flex <mx:Label> 컨트롤상에 핸드 커서를 표시시키려면 ,useHandCursor 및 buttonMode property를 true 로 설정해,mouseChildren property를 false 로 설정합니다.
public function get useHandCursor():Boolean
public function set useHandCursor(value:Boolean ):void
See also
buttonMode
property를 양쪽 모두 true 로 설정합니다만,useHandCursor
property를, 한편은 true 에, 이제(벌써) 한편은 false 로 설정합니다. 어플리케이션을 컴파일 해
실행하면, 양쪽 모두의 스프라이트와도 버튼으로서 응답합니다만 (탭 순서에도 짜넣어진다),
useHandCursor 가 true 로 설정된 스프라이트만이 핸드 커서를 사용합니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.buttonMode = true;
circle1.useHandCursor = true;
circle1.addEventListener(MouseEvent.CLICK, clicked);
var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0xFFCC00);
circle2.graphics.drawCircle(120, 40, 40);
circle2.buttonMode = true;
circle2.useHandCursor = false;
circle2.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent) :void {
trace ("Click! ");
}
addChild(circle1);
addChild(circle2);
| Sprite | () | constructor |
public 함수 Sprite()
새로운 Sprite 인스턴스를 작성합니다. Sprite 인스턴스의 작성 후,DisplayObjectContainer.addChild() 또는 DisplayObjectContainer.addChildAt() Methods를 호출해, 친 DisplayObjectContainer 에 Sprite 를 추가할 수 있습니다.
| startDrag | () | Methods |
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
지정된 스프라이트를 유저가 드러그 할 수 있도록(듯이) 합니다. Sprite.stopDrag() Methods를 호출해 명시적으로 정지하는지, 다른 스프라이트를 드러그 가능하게 할 때까지 , 스프라이트는 드러그 가능한 그대로가 됩니다. 한 번에 1 개의 스프라이트만 드러그 가능합니다.
lockCenter:Boolean (default = false) — 드러그 가능한 스프라이트가, 마우스 위치의 중심으로 락 되는지 (true), 유저가 스프라이트상에서 최초로 클릭한 점에 락 되는지 (false)를 지정합니다.
|
|
bounds:Rectangle (default = null) — Sprite 의 제한 구형을 지정하는 Sprite 의 부모의 좌표를 기준으로 한 상대치입니다.
|
See also
circle 스프라이트와 2 개의 target
스프라이트를 작성합니다. 유저가 커서의 위치를 circle 스프라이트에 맞추어 mouse button를 누르면, 이 스프라이트에 대해서 startDrag() Methods가 불려 가
유저가 mouse button를 떼어 놓으면,stopDrag() Methods가
불려 갑니다. 이것에 의해, 유저는 스프라이트를 드러그 할 수 있게 됩니다. mouse button를 떼어 놓았을 때에
mouseRelease() Methods가 불려 가 이 Methods가
dropTarget object의 name 를 트레이스 합니다. 이 object는, 유저가
circle 스프라이트를 드러그 해 드롭 한 object입니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);
var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";
var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";
addChild(target1);
addChild(target2);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent) :void {
circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent) :void {
circle.stopDrag();
trace(circle.dropTarget.name);
}
| stopDrag | () | Methods |
public function stopDrag():void
startDrag() Methods를 종료합니다. startDrag() Methods에 의해 드러그 가능하게 된 스프라이트는,stopDrag() Methods를 실행하는지, 다른 스프라이트가 드러그 가능하게 될 때까지, 드러그 가능인 채입니다. 한 번에 1 개의 스프라이트만 드러그 가능합니다.
See also
circle 스프라이트와 2 개의 target
스프라이트를 작성합니다. 유저가 커서의 위치를 circle 스프라이트에 맞추어 mouse button를 누르면, 이 스프라이트에 대해서 startDrag() Methods가 불려 가
유저가 mouse button를 떼어 놓으면,stopDrag() Methods가
불려 갑니다. 이것에 의해, 유저는 스프라이트를 드러그 할 수 있게 됩니다. mouse button를 떼어 놓았을 때에
mouseRelease() Methods가 불려 가 이 Methods가
dropTarget object의 name 를 트레이스 합니다. 이 object는, 유저가
circle 스프라이트를 드러그 해 드롭 한 object입니다.
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);
var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";
var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";
addChild(target1);
addChild(target2);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown)
function mouseDown(event:MouseEvent) :void {
circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
function mouseReleased(event:MouseEvent) :void {
circle.stopDrag();
trace(circle.dropTarget.name);
}
size property (100 × 100 픽셀)와
배경색 (오렌지색)을 선언합니다. child Sprite object를 작성해, 그것을 사용해
2 개의 event listener와 거기에 관련하는 다음의 Methods를 추가합니다. mouseDownHandler() 및
mouseUpHandler(). child Sprite object가
draw() Methods에게 건네져, 오렌지색의 사각형이 묘화 됩니다. addChild() Methods의 호출에 의해, 표시 리스트에
Methods를 호출합니다. mouseDownHandler(): 유저가 Sprite object를 클릭하면,
이 Methods는 mouseMove event listener의 mouseMoveHandler() Methods를 추가합니다.
이것에 의해, 마우스의 이동이 처리됩니다. 다음에 startDrag() Methods가 불려 갑니다. 이것에 의해,
Sprite object의 드러그가 가능하게 됩니다. mouseUpHandler(): mouse button를 떼어 놓으면, mouseMove event listener가
삭제되어stopDrag() Methods가 불려 갑니다. 이것에 의해, 오렌지색의 사각형의 이동이
그 자리소에서 멈춥니다. mouseMoveHandler: 왼쪽 mouse button가 밀리고 있는 동안,
이 Methods는 플레이어에 대해서 계속해 오렌지색의 사각형을 재묘화 하도록 지시합니다. 메모 :event listener의 Methods 각각이, 로컬 변수 sprite
(을)를 선언합니다. 이 로컬 변수에 이벤트의 target property를 할당할 수 있습니다.
package {
import flash.display.Sprite;
import flash.events. *;
public class SpriteExample extends Sprite {
private var size:uint = 100;
private var bgColor:uint = 0xFFCC00;
public function SpriteExample() {
var child:Sprite = new Sprite();
child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
child.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
draw(child);
addChild(child);
}
private function mouseDownHandler(event:MouseEvent) :void {
trace("mouseDownHandler");
var sprite:Sprite = Sprite(event.target);
sprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
sprite.startDrag();
}
private function mouseUpHandler(event:MouseEvent) :void {
trace("mouseUpHandler");
var sprite:Sprite = Sprite(event.target);
sprite.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
sprite.stopDrag();
}
private function mouseMoveHandler(event:MouseEvent) :void {
trace("mouseMoveHandler");
event.updateAfterEvent();
}
private function draw(sprite:Sprite) :void {
sprite.graphics.beginFill(bgColor);
sprite.graphics.drawRect(0, 0, size, size);
sprite.graphics.endFill();
}
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/display/Sprite.html