1

私はアプリを作成しています。アプリは非常にシンプルで、4 つの花びらがあり、4 つすべてを選択すると、別のシーンに移動し、「もう一度試してください」というロゴが表示されます。何らかの理由でアクティビティを一度トレースすることさえできませんこれらの花びらはそのステージで選択されます (各花びらはムービークリップです)。また、クラスを介してリンクすることにより、ムービークリップを変数として AS3 に書き込みました。これが本当に必要かどうかさえわかりません。(配列も試しましたが、if("array".visible == false then gotoandplay "other scene" で同じ結果が得られます。) ; "the place" は、花びらを摘んだら行きたいシーンです。

これは私の現在のコードであり、エラーはありませんが、ムービークリップが表示されていないことを登録せず、他のシーンにも移動しないため、希望どおりに機能しません。

var one = new sunflowerpetal10;
var two = new sunflowerpetal12;
var three = new sunflowerpetal13;
var four = new sunflowerpetal14;
var five = new sunflowerpetal15;
var six = new sunflowerpetal16;

var hello:String;
hello = "helloworld";

if(one.visible == false, two.visible == false, three.visible == false, four.visible == false, five.visible == false, six.visible == false)
{
 trace(hello); 

 gotoAndPlay(1, "theplace");
}

助けてください! すでにステージ上にあるムービークリップが AS3 に登録されていませんか? または何が問題のようですか??

4

2 に答える 2

1

ここには多くの間違いがあり、実際に何をしているのかを判断するのは困難です。Flash は、何がどこでどのように参照されるかに関して非常に混乱しています。

まず、何かに対して new を呼び出すときは、括弧を付ける必要があります。それで...

new sunflowerpetal15();

これは、ライブラリに sunflowerpetal15 という MC があり、このラベルがライブラリ内の名前だけでなく、「actionscript にエクスポート」されていることを前提としています。

次に、実際にこのアイテムをステージに配置する必要があります

this.addChild(new sunflowerpetal15());

次の if ステートメントには、違法な ,s があります。アイテム間の && (論理積) を意味していると思いますが、繰り返しになりますが、何をしているのかわかりません)。

すべてが修正されたら、フレーム 1 を再生する必要がありますが、最初からフレーム 1 を離れたことはないと思います! そう...繰り返しますが、ここで何をしているのかはっきりしていないのではないかと思います。

*本当に必要なのは、Flash と AS3 を使い始めるためのステップ バイ ステップのチュートリアルです。あなたは地図のいたるところにいます.Flashは非常に直感的ではないため、優れたガイドなしで単独で使用するのは絶対に間違った環境です.

于 2012-05-31T05:07:40.273 に答える
0

答え!:

各花びらには次のコードがあります (これは、オブジェクトをクリックすると非表示になるコードです)。

sunflowerpetal1.addEventListener(MouseEvent.CLICK, fl_ClickToHide);

function fl_ClickToHide(event:MouseEvent):void
{
    sunflowerpetal1.visible = false;
}
  • ifすべての花びらがなくなったら、別の画面に渡されるようにステートメントを実行しようとするたびに、それは機能しません!

元:

if(sunflowerpetal1.visible == false && sunflowerpetal2.visible == false && sunflowerpetal3.visible == false && sunflowerpetal4.visible == false && sunflowerpetal5.visible == false && sunflowerpetal6.visible == false)
{
    gotoAndPlay(1, "theplace");
}
  • トリックは、この「if」ステートメントを、次のように各花びらの現在のコードの括弧内に配置することでした。

    sunflowerpetal1.addEventListener(MouseEvent.CLICK, fl_ClickToHide);

    function fl_ClickToHide(event:MouseEvent):void { sunflowerpetal1.visible = false;

    if(sunflowerpetal1.visible == false && sunflowerpetal2.visible == false && sunflowerpetal3.visible == false && sunflowerpetal4.visible == false && sunflowerpetal5.visible == false && sunflowerpetal6.visible == false)
    

    { gotoAndPlay(1, "その場所"); }

    }

*その「if」ステートメントをすべての花びら (または消えるオブジェクト) コード内に配置すると、すべての設定が完了します。すべての花びら (またはムービー クリップ) をクリックすると、コマンドを実行したシーンに送信されます。"theplace"( 「もう一度やり直してください」という別の画面に移動する前に、6枚の花びらをクリックする必要がありました)

問題解決 =)

于 2012-06-19T15:39:43.657 に答える