アクションの実行の続きです。
kag.stopAction
kag.stopActionを使うと実行中のアクションを停止できます。引数に渡したオブジェクトを対象としたアクションが全て停止されます。そのオブジェクトのアクションならnowaitのアクションも含めて停止されます。
// レイヤを生成して"star.png"を表示 var layer = new Layer(kag, kag.primaryLayer); layer.loadImages("star.png"); layer.setSizeToImageSize(); layer.visible = true; // アクションを実行 kag.beginAction(layer, %[ left : %[ handler : "MoveAction", value : 300, time : 5000, ] ]); // 左クリックされたらアクションを停止 kag.addHook("leftClick", function() { kag.stopAction(layer); });
この例では左クリックされたらkag.stopAction(layer);を呼んでlayerを対象としたアクションを停止しています。アクションが停止されるとアクション終了時の状態になります。この例ではlayerはleft=300の状態になります。
kag.stopAllActions
kag.stopAllActionsを使うと実行中のアクションを全て停止できます。kag.stopActionのように対象となるオブジェクトを渡す必要はありません。
// レイヤを生成して"star.png"を表示 var layer = new Layer(kag, kag.primaryLayer); layer.loadImages("star.png"); layer.setSizeToImageSize(); layer.visible = true; // アクションを実行 kag.beginAction(layer, %[ left : %[ handler : "MoveAction", value : 300, time : 5000, ] ]); // 左クリックされたら全てのアクションを停止 kag.addHook("leftClick", function() { kag.stopAllActions(); });
kag.stopActionと違い、kag.stopAllActionsの場合はnowaitのアクションは停止されません。nowaitのアクションも含めて停止したい場合はkag.stopAllActions(true);のように引数にtrueを指定してください。
ピンバック: KAGEX拡張例(アクションの実行2) - Biscrat Blog