0

Flash で学校の小さな課題を終えたところですが、一部のアクション スクリプトをシーンに配置し、その他のアクション スクリプトをムービー クリップに配置する理由について疑問に思っています。

情報: Flash CS3 と ActionScript 2 を使用しています。

見たい人のために、ここにファイルをアップロードしました:http://www.mediafire.com/download.php?2z2mivtmokg

さて、ムービー クリップのすべてのアクション スクリプトを実行しましたが、シーンから実行しようとするとなぜ機能しないのでしょうか? クリップの Actions レイヤーからすべてのコードを取得し、それをコピーしてそのレイヤーを削除し、シーンに移動してそこに Actions レイヤーを作成し、コードを通過するとします。なぜ機能しないのでしょうか?

circle_mc(クリップの名前) をコードに追加しようとしましたが、役に立ちませんでした...

誰かがここで私を助けることができますか? ムービー クリップにコードが表示されないようにしようとしているのは、それが私の最初の割り当てだったと思うからです。

さらに掘り下げるには、シーンに入るコードとムービー クリップに入るコードをどのように決定すればよいでしょうか?

4

1 に答える 1

1

ムービークリップ内にいて、「this.something」を使用できる場合、作業中のムービークリップを参照します...つまり「circle_mc」ですが、ルートタイムラインに移動してアクションレイヤーを作成すると、次のことができます。 「これ」はもう使用しないでください。ムービークリップ名を参照する必要があります。したがって、アクションと呼ばれるルート タイムラインに新しいレイヤーを作成した場合、このコードを貼り付けることができ、引き続き機能します (mc 内の古いコードも削除します)。

var stoppedOn = 2;

circle_mc.onPress = function()
{
    circle_mc.startDrag();
}

circle_mc.onRelease = function()
{
    circle_mc.stopDrag();
}

circle_mc.onRollOver = function()
{
    circle_mc.gotoAndPlay(stoppedOn);
}

circle_mc.onRollOut = function()
{
    circle_mc.stop();
    stoppedOn = circle_mc._currentframe;
}

個人的には、すべてのコードをルート タイムラインに配置すると、コードの保守性が向上すると思います。また、将来的にクラスを操作するための準備にもなります。また、空き時間に AS3 を学習することをお勧めします。

于 2009-04-04T22:22:38.827 に答える