1

私はゲームを作成していますが、ほとんどはうまくいっています。ただし、特定のフレームに移動して再生するボタンが特定のフレームにあることがよくあります。私の研究では、次の解決策を見つけました

  1. フレーム 1 のボタンを非表示にしてコードを実行することができます (これを行う方法を知る必要があります)。
  2. 問題のフレームにボタンのリスナーのみを追加します(これはわかりません。パッケージ内ではなくタイムライン内でコーディングすることを意味していましたか)

出典:stackoverflowの解決済みの質問

このstackoverflow question link 2も見つかりました。 このリンクはボタンの非表示について少し示していますが、パッケージ内では意図されていないと思います。しかし、以下を参照してください。

上記のリンクの例に基づく私のコードのスニペット

    package 
    {

import flash.display.MovieClip;
import flash.events.Event;

import flash.events.MouseEvent;

    public class DocumentClass extends MovieClip
{
    public var b1:Boolean = false;
    public var b2:Boolean = false;        

    public function DocumentClass()
    {
        init();


    }
    private function init():void
    {


    button1.addEventListener(MouseEvent.MOUSE_DOWN, checkButton);

    button2.addEventListener(MouseEvent.MOUSE_DOWN, checkButton);

    private function checkButton(e:MouseEvent):void
    {
       if(e.target.name == button1) b1 = true;
       else b2 = true;

       gotoAndPlay(3);
    }

たとえば、フレーム 3 では、おそらく上記のリンクと同じことができます。

    buttonA.visible = false;
    buttonB.visible = false;   

    if (b1) buttonA.visible = true;
    if (b2) buttonB.visible = true;

EDIT:上記のコードを試してみましたが、うまくいきましたが、私の問題はまだ解決されていません(以下を参照)。

ここに私の質問があります。上記のコードをより適切に使用する方法についてのアドバイス/情報が必要です。理由は; 上記のコードは、私が望むものに対して正しいとは思いません (以下を参照)。

上記のコードは、問題であるフレーム 1 を超えるフレームに配置されたボタンでは機能しません (私が思うに)。

イントロ用の (目に見える) ボタンのないフレームがいくつか必要です。たとえば、フレーム 5 では、次のフレームに移動して停止するボタン [stop();] を含むメニューが必要です。フレーム 6 では、再生するボタンが必要です。次のフレームまで。

4

1 に答える 1