[英]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.