レス数:4 / 状態:解決済み / No:120 / ATOM
1
名前:みすぺよ
日付:2013/11/11(月)10:32:30
ID:M3aTGAZSDaTq
こんにちは、私はついこの間AS3を始めたばかりの初心者です。
現在、私はAS3を使い ADOBE AIR用にゲームを制作しています。
私は以下のイベントを使い、動作をループさせていますが、エラーが出てしまい困っています。
//------------------------------------------------------
stage.addEventListener(Event.ENTER_FRAME, mainloop);
function mainloop(event:Event):void
{
box.x += 2;
if (box.x > 100){
gotoAndStop("gameover");
}
}
//----------------------------------------------
box と言うMCのX座標が 100を超えた時に
MCや、アクションスクリプトの無い gameover と言う新しいフレームに移動したいのですが、
そのフレームには、box が無いので、Error #1009が出てしまいます。
gameoverのフレームに入ると、アニメーションが流れてゲームが終了する流れにするつもりなのですが、
何とかフレームを移動する際にループを完全に止める方法は無いでしょうか?
よろしくお願いします。
現在、私はAS3を使い ADOBE AIR用にゲームを制作しています。
私は以下のイベントを使い、動作をループさせていますが、エラーが出てしまい困っています。
//------------------------------------------------------
stage.addEventListener(Event.ENTER_FRAME, mainloop);
function mainloop(event:Event):void
{
box.x += 2;
if (box.x > 100){
gotoAndStop("gameover");
}
}
//----------------------------------------------
box と言うMCのX座標が 100を超えた時に
MCや、アクションスクリプトの無い gameover と言う新しいフレームに移動したいのですが、
そのフレームには、box が無いので、Error #1009が出てしまいます。
gameoverのフレームに入ると、アニメーションが流れてゲームが終了する流れにするつもりなのですが、
何とかフレームを移動する際にループを完全に止める方法は無いでしょうか?
よろしくお願いします。
2
名前:通りすがり
日付:2013/11/12(火)15:35:33
ID:ysTiZvdQ5jJW
こんにちは。
移動した後もmainloopがENTER_FRAMEで回っているからエラーになるのですよね。
それであれば、移動してからこのループをremoveEventListenerで削除すれば良いと思います。
//----------------------------------------------
stage.addEventListener(Event.ENTER_FRAME, mainloop);
function mainloop(event:Event):void
{
box.x += 2;
if (box.x > 100){
//ループ終了
stage.removeEventListener(Event.ENTER_FRAME, mainloop);
gotoAndStop("gameover");
}
}
//----------------------------------------------
実際に書き出して試したりはしていないので、エラーが出たらすみません…
移動した後もmainloopがENTER_FRAMEで回っているからエラーになるのですよね。
それであれば、移動してからこのループをremoveEventListenerで削除すれば良いと思います。
//----------------------------------------------
stage.addEventListener(Event.ENTER_FRAME, mainloop);
function mainloop(event:Event):void
{
box.x += 2;
if (box.x > 100){
//ループ終了
stage.removeEventListener(Event.ENTER_FRAME, mainloop);
gotoAndStop("gameover");
}
}
//----------------------------------------------
実際に書き出して試したりはしていないので、エラーが出たらすみません…
3
名前:状態変更
日付:2013/11/12(火)22:18:50
ID:M3aTGAZSDaTq
この質問の状態を『解決』に変更しました。
4
名前:みすぺよ
日付:2013/11/12(火)22:21:04
ID:M3aTGAZSDaTq
ループを一旦止める必要があったのですね。
これでエラーを起こさずフレームを移動する事ができました。
これで作品の続きの制作が出来そうです。
本当にありがとうございました!
これでエラーを起こさずフレームを移動する事ができました。
これで作品の続きの制作が出来そうです。
本当にありがとうございました!
このスレッドについて
質問の状態 : | 解決済み |
投稿開始日 : | 2013/11/11(月)10:32:30 |
投稿終了日 : | 2013/11/19(火)22:21:17 |
投稿者 : | みすぺよ |
レス総数 : | 4 |
スレッド番号 : | 120 |