1

ムービークリップのネスティングに取り組んでいます。

ステージ上のメイン ムービークリップのフレーム 2 にある別のムービークリップにアクセスしようとしています。

=> test2 ムービークリップは、テスト ムービークリップのフレーム 2 に存在します。

test2変数にアクセスしているため、このエラーが発生しています..

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。Untitled_fla::MainTimeline/Access() で Untitled_fla::MainTimeline/Untitled_fla::frame1() で

メイン ムービークリップのフレーム 2 で test2 ムービークリップにアクセスする別の方法はありますか?

私のコードは:

var test1:MovieClip;
var test2:MovieClip;
test.stop();

function Start(){
    //test.addChild(test1);
    //Test1 = new test1();
    //Test2 = new test2();
    trace(test.numChildren);
    test1 = MovieClip(test.getChildByName("test1"));
    test.gotoAndStop(2);
    test2 = MovieClip(test.getChildByName("test2"));

}
function Access(color:String){
    var r:RegExp=new RegExp(/#/);
    var uintColor:uint = uint(String(color).replace(r,"0x"));
    var c: ColorTransform = new ColorTransform();
    c.alphaMultiplier = 0.9;
    c.color = uintColor;
    test.gotoAndPlay(2);
    test2.transform.colorTransform = c;
}
Start();
Access("#666666");
4

2 に答える 2

0

タイムラインを移動中のフラッシュでは、フラッシュ プレーヤーはフレームの最後 (最初のフレームを除く) にのみネストされた子を作成しtest2ますclip。この 2 番目のフレームの子は作成されます。次の解決策を試してください。

function Start(){
    trace(test.numChildren);
    test1 = MovieClip(test.getChildByName("test1"));
    test.gotoAndStop(2);
    addEventListener(Event.ENTER_FRAME, function(event:Event):void
    {
        EventDispatcher(event.target).removeEventListener(event.type, arguments.callee);
        test2 = MovieClip(test.getChildByName("test2"));
    });
}   
于 2013-01-30T10:17:10.243 に答える
0

アクセス機能を変更してみてください。テストMovieClipを再生している場合、test2 は使用できないと思います。

function Access(color:String){
    var r:RegExp=new RegExp(/#/);
    var uintColor:uint = uint(String(color).replace(r,"0x"));
    var c: ColorTransform = new ColorTransform();
    c.alphaMultiplier = 0.9;
    c.color = uintColor;
    test.gotoAndStop(2);
    test2.transform.colorTransform = c;
}
于 2013-01-30T10:29:33.327 に答える