2011-06-19 4 views
0

Im new to Flash AS3ゲームプログラミング,,,私が直面している問題があります、 ゲームをプレイ中にオープニングインターフェイス(プレイボタン付きメニュー)を作成しようとしています。プレイヤーは をキーボードから入力し、ゲームはフレーム10にジャンプして(何らかのオブジェクトを表示する)、フレーム1に戻す必要があります。ゲームがフレーム1に戻ってきたら、最初に動的に削除されたメニュー ,,,,,, 問題のあるコードの一部を以下に示します。 tempライブラリオブジェクトはフレーム1で読み込み、as3を通してアクセスを許可します。また、フレーム10にキーフレームを追加します。AS3フラッシュゲームメニューが再現されます

var keyPressed:uint; 

var rightkey:Boolean = false; 

stage.addEventListener(KeyboardEvent.KEY_DOWN, playshot); 
var timer:Timer = new Timer(3700, 1); //create the timer 
timer.addEventListener(TimerEvent.TIMER, initializeGame); 
var tmenu:tat = new tat(); //show a start menu with play button 
addChild(tmenu); //added to the stage 

tmenu.addEventListener(MouseEvent.CLICK,controlmenu); 
function controlmenu(event:MouseEvent) { 
timer.start(); 
    removeChild(tmenu); //when the play button is clicked      //button and start the game 
} 

function playshot(event:KeyboardEvent):void { //detects the keys pressed and shots accordingly    { 
    keyPressed = event.keyCode; 
    if(keyPressed == Keyboard.RIGHT) 
{ 
trace("Entering movebat function"); 
gotoAndStop(10);  //show a show rectangle shape at frame 10; 
timer.start(); 


} 

} 

function initializeGame(e:TimerEvent):void 
{ 
    gotoAndStop(1); 
} 
stop(); 
+0

これは乱雑なときに誰も質問に答えないでしょう。私はあなたのコードを書式化しようとしましたが、底の近くに余分な括弧があるように見えるかもしれません、そしておそらく見て、そして人々が何が起こっているのを見ることができるようにそれをきれいにします。また、複数のコンマが何を意味するのかもわかりません! –

答えて

3

コードがあるフレームにジャンプすると、そのコードが再び実行されます。その最初のフレームにコードを置く可能性が高いので、そこに戻ってコードを追加するメニューが再び実行されます。初期化コードを1回だけ、あるいはそれ以上にヒットしたフレームに置き、ドキュメントクラスを使用して、タイムラインをスキップしないようにします。

関連する問題