簡體   English   中英

“外部”瑞士法郎AS3中的訪問符號

[英]access symbol in “external” swf AS3

我可以做兩件事。 加載外部SWF,並更改對象的顏色。 當我將這兩件事放在一起時,它不起作用。 如何更改已加載的瑞士法郎的顏色? 我想訪問已加載的swf文件中的實例名稱。

我告訴過的人
我必須打包並設置類路徑。 現在有一個簡單的方法嗎?

替代文字http://www.ashcraftband.com/myspace/videodnd/ball.jpg

ball.swf

"white ball on the stage named blueball"

load.fla

//load ball.swf
var bgLoader:Loader = new Loader();
bg_mc.addChild(bgLoader);
var bgURL:URLRequest = new URLRequest("ball.swf");
bgLoader.load(bgURL);

//change color of ball to blue "code works in ball.swf" 
var myColor:ColorTransform = blueball.transform.colorTransform; 
myColor.color = 0x066ccf; 
blueball.transform.colorTransform = myColor;

錯誤#1120
訪問未定義的屬性

注意
SWF文件都是actionscript-3。 我玩過發布和安全設置。

實驗 “了解在外部SWF文件中使用符號”

您缺少“根”,在加載swf之后,您可以使用root到達時間軸范圍。 考慮以下:

var bgLoader:Loader = new Loader();
bg_mc.addChild(bgLoader);
var bgURL:URLRequest = new URLRequest("ball.swf");
bgLoader.load(bgURL);
bgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);

function onLoaded(event:Event):void
{
    // use root to reach the timeline scope of the loaded swf
    var loadedBlueball:MovieClip = event.target.content.root.blueball;
    //change color of ball to blue "code works in ball.swf" 
    var myColor:ColorTransform = loadedBlueball.transform.colorTransform; 
    myColor.color = 0x066ccf; 
    loadedBlueball.transform.colorTransform = myColor;

    // just adding the ball to stage, you might want to add all swf
    addChild(loadedBlueball);
}

“在ActionScript 3中,根屬性是指已加載的SWF的主時間軸(而不是已加載另一個SWF的SWF的時間軸)。” 來自http://www.adobe.com/devnet/actionscript/cookbook/timeline_root.html

這是因為嘗試更改顏色時未加載swf。 您只需要使用事件,它應該可以工作

import flash.events.*;

[...]

var bgLoader:Loader = new Loader();
bgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, setMyBallColor); 
bg_mc.addChild(bgLoader);
var bgURL:URLRequest = new URLRequest("ball.swf");
bgLoader.load(bgURL);

[...]

function setMyBallColor() {
//change color of ball to blue "code works in ball.swf" 
var myColor:ColorTransform = blueball.transform.colorTransform; // bg_mc.blueball.transform.colorTransform; ?
myColor.color = 0x066ccf; 
blueball.transform.colorTransform = myColor; // same
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM