私はゲームを作成していますが、ほとんどはうまくいっています。ただし、特定のフレームに移動して再生するボタンが特定のフレームにあることがよくあります。私の研究では、次の解決策を見つけました
- フレーム 1 のボタンを非表示にしてコードを実行することができます (これを行う方法を知る必要があります)。
- 問題のフレームにボタンのリスナーのみを追加します(これはわかりません。パッケージ内ではなくタイムライン内でコーディングすることを意味していましたか)
この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 では、再生するボタンが必要です。次のフレームまで。