2

メインステージの子であるMovieClipからフラッシュアプ​​リケーションのメインタイムラインを制御しようとしています。どうやら、ActionScript 2では、_rootを使用してそれを行うことができましたが、rootを使用すると(_rootが存在しなくなったため)、エラーが発生するようになりました。

root.play();

「1061:静的タイプflash.display:DisplayObjectContainerの参照を介して、未定義の可能性のあるメソッドplayを呼び出します。」

Stageクラスの使用も機能しません。

stage.play();

「1061:静的タイプflash.display:Stageの参照を介して、未定義の可能性のあるメソッドplayを呼び出します。」

これを行う方法はありますか?

4

3 に答える 3

7

MovieClipにキャストする必要があります

(root as MovieClip).play()
于 2008-11-06T14:29:50.403 に答える
3

http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=15&catid=665&threadid=1387264&enterthread=yによると、


    MovieClip(root).gotoAndPlay("menu"); のようなものを試してください。

がんばれ、
ランディ・ステグバウアー

于 2008-11-06T14:00:07.780 に答える
0

もう 1 つの方法は、メイン fla のドキュメント クラスを設定しながら、ムービークリップ コードを別のクラスに分けることです。

メイン fla のドキュメント クラスが Main.as で、ムービークリップのクラス ファイルが Movie.as であると仮定すると、メイン クラス ポインタを Movie クラス コンストラクタのパラメータとして追加できます。

Main.as で

public class Main() { var m = new Movie(this); }

Movie.as で

public class Movie(m:Main) { m.gotoAndPlay("somewhere"); }
于 2009-12-22T05:04:15.547 に答える