2011-11-08 1 views
0

actionscipt 3에서 플래시로 간단한 게임을 제작 중입니다. 사용자가 무대에서 3 개의 영화 클립을 클릭하면 "3 개의 영화 클립을 모두 클릭 해 주셔서 감사합니다!"와 같은 메시지를 추적하고 싶습니다.3 개의 영화 클립을 클릭하면 메시지를 추적하는 방법은 무엇입니까?

한 번에 3을 클릭하면이 메시지가 표시됩니다.

아이디어 : 당신은 당신의 각 청취자가 액세스 할 수있는 그들이 예를 들어, 클릭 한 경우 저장할

답변

1

:

액션 리스너 방법 (들)의 내부 그리고
var clicked1:Boolean = false; 
var clicked2:Boolean = false; 
var clicked3:Boolean = false; 

:

function listenerMethod1(e:MouseEvent):void { 
    clicked1 = true; 
    checkIfAllClicked(); 
} 

function listenerMethod2(e:MouseEvent):void { 
    clicked2 = true; 
    checkIfAllClicked(); 
} 

function listenerMethod3(e:MouseEvent):void { 
    clicked3 = true; 
    checkIfAllClicked(); 
} 

등 ... (또는 동일한 핸들러 메소드에서 3 개의 movieClip 이벤트를 모두 처리 할 수 ​​있습니다.) 당신은 당신이 false로 3를 재설정 할뿐만 아니라 리셋 방법을 가질 수 있습니다 무엇을하고 있는지에 따라

function checkIfAllClicked(){ 
    if(clicked1 && clicked2 && clicked3){ 
    trace("Thanks for clicking all 3 movieclips!"); 
    } 
} 

: 점검 기능을 잊지 마십시오.

영화 클립이 많은 경우 Vector<Boolean>과 같은 컬렉션 사용을 고려해 볼 수 있습니다.

+0

내가이 아니라 바로 추가해야합니다 생각 : box1.addEventListener (MouseEvent.CLICK, listenerMethod1를) ; box2.addEventListener (MouseEvent.CLICK, listenerMethod2); box3.addEventListener (MouseEvent.CLICK, listenerMethod3); 감사합니다 :) – Asimina88

+0

맞습니다, 모든 수신기 메서드는 해당 – ToddBFisher

0

또는 모든 버튼을 사용하여 하나의 기능을 할 수 :

var count:uint = 0; 

function buttonPress(e:MouseEvent):void { 
    count++; 

if (count == 3) { 
trace("Thanks for clicking all 3 movieclips!"); 

//reset count if required 
//count = 0; 
} 

}

+0

이라고하는 해당 addEventListner()가 있어야합니다. 유일한 것은 사용자가 동영상 클립을 두 번 이상 클릭 할 수 있다는 것입니다. 처음부터 각 클릭 .. 고마워 :) – Asimina88

관련 문제