0

以下にソースファイルを添付しましたが、ちょっと行き詰まっています。

基本的に、(私のサーバー上の)XMLファイルから読み込まれた数値に基づいて変化する変数(smscounter)を持つFLAです。メインステージのフレーム1には、「リワインダー」と呼ばれる大きなムービークリップがあります。そのムービークリップ「リワインダー」内のフレーム間を移動する左右のボタンがあります。私が理論的にやろうとしていることは次のとおりです。

if(frame != 2) {button_right.visibility = true};
if(frame == 2 && smscounter > 5) {button_right.visibility = true};
if(frame == 2 && smscounter < 5) {button_right.visibility = false}

変数(可視性)を設定すると、それを継続的にチェックするだけでは機能しないと言われているので、イベントをディスパッチする必要がありますか?3〜4のチュートリアルを試しましたが、何も動作しません。

今、いくつかのことがあります:
-私は非常に複雑なものを避けたいと思います。smscounterが5未満の場合、ボタンが表示されないようにするために必要なのはフレーム2だけです。他のチュートリアルでは、別のクラスとドキュメントクラスが必要でしたが、機能させることができませんでした
。ボタンは現在、リワインダームービークリップの外側にあります。フレームの内側とフレームに配置しましたが、ロールオーバーに反応させることができませんでした。
-コードは、主に私がデザイナーであり、これまでずっと助けてくれたため、1年生が書いたように最適化されています。
--Greensock LoaderMaxは、ビデオとサウンドを挿入するために使用されています。問題とはあまり関係がないので、作業中の状況をより正確に把握するために、そこに残しておきました。

FLAおよびソースファイルへのリンク: http ://www.mediafire.com/download.php?ejy6j9h9r1c1829

4

1 に答える 1

3

このコードをメインタイムラインに追加すると、フレーム2と3にしか移動できないように見えますが、合計21フレーム(電圧バーから)があるため、1とtotalFramesの代わりに数値を使用しました。

rewinder.addEventListener(Event.ENTER_FRAME,checkButtons);
function checkButtons(e:Event):void{
    if(rewinder.currentFrame <= 2){
        button_left.visible = false;
    }else{
        button_left.visible = true;
    }

    if(rewinder.currentFrame >= 3){
        button_right.visible = false;
    }else{
        button_right.visible = true;
    }
}
于 2012-04-01T21:33:19.290 に答える