2016-04-06 11 views
2

Animate CC workframeこのプログラムをループさせないようにするにはどうすればよいですか? stop();機能は動作しません。これはアニメーションクリップではなくドラッグアンドドロップゲームです。私はまだAS3の新人ですから、誰かが私の質問に答えて答えると感謝します。ありがとう!アニメーションCCでループするプログラムを停止する方法2015

item1.objName = "circle"; 
item1.initX = item1.x; 
item1.initY = item1.y; 
item1.val = 0; 

item2.objName = "rectangle"; 
item2.initX = item2.x; 
item2.initY = item2.y; 
item2.val = 0; 

item3.objName = "triangle"; 
item3.initX = item3.x; 
item3.initY = item3.y; 
item3.val = 0; 


bin1.shape.alpha = 0; 
bin2.shape.alpha = 0; 
bin3.shape.alpha = 0; 

item1.buttonMode = true; 
item2.buttonMode = true; 
item3.buttonMode = true; 

item1.addEventListener(MouseEvent.MOUSE_DOWN, mousePress); 
item1.addEventListener(MouseEvent.MOUSE_UP, mouseRelease); 
item2.addEventListener(MouseEvent.MOUSE_DOWN, mousePress); 
item2.addEventListener(MouseEvent.MOUSE_UP, mouseRelease); 
item3.addEventListener(MouseEvent.MOUSE_DOWN, mousePress); 
item3.addEventListener(MouseEvent.MOUSE_UP, mouseRelease); 


//Mouse Events 

function mousePress(event:MouseEvent):void { 
    var item:MovieClip = MovieClip(event.target); 
    item.startDrag(); 
    item.scaleX = item.scaleY = .95; 
    var topPos:uint = this.numChildren - 1; 
    this.setChildIndex(item, topPos); 
    ilabel.itemName_txt.text = item.objName;  
} 


function mouseRelease(event:MouseEvent):void { 
    var item:MovieClip = MovieClip(event.target); 
    item.stopDrag(); 

    switch (item.objName) { 
case "circle" : 
     if (bin1.hitTestObject(item)){ 
     updateShape(item, bin1); 

     } 
     else{ 
     ilabel.info_txt.text ="WRONG! Hint: circle"; 
     item.scaleX = item.scaleY = 1 
     } 
break; 
case "rectangle" : 
     if (bin2.hitTestObject(item)) { 
     updateShape(item, bin2); 

     } 
     else{ 
     ilabel.info_txt.text ="WRONG! Hint: rectangle"; 
     item.scaleX = item.scaleY = 1 
     } 
break; 
    case "triangle" : 
if (bin3.hitTestObject(item)){ 
     updateShape(item, bin3); 

    } 
     else{ 
     ilabel.info_txt.text ="WRONG! Hint: Triangle"; 
     item.scaleX = item.scaleY = 1 
     } 
break; 
    default :; 
    } 

} 
function updateShape(item:MovieClip, bin:MovieClip):void { 
    ilabel.itemName_txt.text = ""; 
    item.scaleX = item.scaleY = 1; 
    item.visible = false; 
    ilabel.info_txt.text ="CORRECT! "; 
    bin.shape.alpha = 1; 
    item.val = 1; 
    resetShapes(); 
} 

function resetShapes(){ 
    if((item1.val == 1)&& (item2.val == 1) && (item3.val == 1)){ 

     item1.x = item1.initX; 
     item1.y = item1.initY; 
     item2.x = item2.initX; 
     item2.y = item2.initY; 
     item3.x = item3.initX; 
     item3.y = item3.initY; 

     bin1.shape.alpha = 0; 
     bin2.shape.alpha = 0; 
     bin3.shape.alpha = 0; 

     item1.visible = true; 
     item2.visible = true; 
     item3.visible = true; 

     item1.val = 0; 
     item2.val = 0; 
     item3.val = 0; 


     } 
    } 

    function checkGame():void { 
    if ((item1.scaleX = item1.scaleY = 1)&& (item2.scaleX = item2.scaleY = 1)&&(item3.scaleX = item3.scaleY = 1)) 
    { 

     ilabel.info_txt.text=" Well done!"; 
    } 



} 
+0

「ループを止める」とはどういう意味ですか?マウスの操作を登録しない場合は、必要に応じてイベントリスナー(item1.removeEventListener(MouseEvent.MOUSE_DOWN、mousePress); item1.removeEventListener(MouseEvent.MOUSE_UP、mouseRelease);)を削除してください。 – Iansen

+0

ゲーム内のすべてのアイテムが正しくマッチした後、ゲームはそこで終了するのではなく、それ自体で再開します。 – CHIGGAJX

+1

あなたは何フレームですか?組み込みのActionsScriptエディタにコードを記述していますか?あなたのタイムラインがどのように見えるかいくつかの画像を投稿する....私は通常、フレームが1つしかなく、スクリプトは外部ファイルにある。 – Iansen

答えて

0
function checkGame():void { 
    if ((item1.scaleX = item1.scaleY = 1)&& (item2.scaleX = item2.scaleY = 1)&&(item3.scaleX = item3.scaleY = 1)) 
    { 
    ilabel.info_txt.text=" Well done!"; 
    item1.removeEventListener(MouseEvent.MOUSE_DOWN, mousePress); 
    item1.removeEventListener(MouseEvent.MOUSE_UP, mouseRelease); 
    item2.removeEventListener(MouseEvent.MOUSE_DOWN, mousePress); 
    item2.removeEventListener(MouseEvent.MOUSE_UP, mouseRelease); 
    item3.removeEventListener(MouseEvent.MOUSE_DOWN, mousePress); 
    item3.removeEventListener(MouseEvent.MOUSE_UP, mouseRelease); 
} 

これは何を選択することができるからユーザーを停止します。 たとえば、 'item1'にループしているムービークリップがあるとします。 item1.stop()を追加する必要があります。チェックゲーム機能にも...

幸運!

関連する問題