2013-04-09 1 views
0

대화 형 게임을 만들고 사용자가 상자에 동전을 끌어다 놓을 수있게하려고합니다. 사용자가이 작업을 완료하면 다음 장면으로 이동할 수 있지만 오른쪽 상자에 동전을 떨어 뜨린 경우에만 다음 장면에 액세스 할 수 있습니다.AS3 - If 문 - 다음 장면

누구든지이 작업을 수행하는 방법을 알고 있습니까?

답변

2

당신은 드래그 앤 드롭을 처리 할 수 ​​movieclip.startDrag()movieclip.stopDrag()와 함께에서 MOUSE_DOWNMOUSE_UP 이벤트 리스너를 사용하려면, 다음 당신이해야 할 모든 동전이 삭제되는 hitTestObject(..)이다.

코드는 구조가 매우 정직 :

coin.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); 
coin.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); 

function onMouseDown(e:Event):void 
{ 
    // When mouse button is held down, begin dragging coin movieclip 
    coin.startDrag(); 
} 

function onMouseUp(e:Event):void 
{ 
    // When mouse button is released, stop dragging 
    // the coin and check if is is over the box 
    coin.stopDrag(); 
    if(coin.hitTestObject(box)) 
    { 
    // Go to next scene 
    } 
} 
+0

감사합니다. 동전은 끌리지 만 동전이 다음 장면에있는 비디오를 재생하는 방법을 떨어 뜨리면? - if 문에는 그다지 확실하지 않습니다. 덕분에 – sjb

+0

장면 1, 레이어 'AS', 프레임 1, 줄 4 \t 경고 : 1090 : 마이그레이션 문제 : ActionScript 3.0에서 런타임시 Flash Player에 의해 onMouseDown 이벤트 핸들러가 자동으로 트리거되지 않습니다. 먼저 addEventListener ('mouseDown', callback_handler)를 사용하여 이벤트에 대해이 핸들러를 등록해야합니다. – sjb