2007-08-16

實現 ActionScript 3 的全域物件 global

把 global.as 放在類別路徑上即可, 其內容為:
package {
public function get global():Object{
return this;
}
}

6 則留言:

匿名 提到...

請問一下
我在A.swf用Loader 載入B.swf
要如何讓B.swf可以使用A.swf的全域變數

我把兩個檔案都在主機測trace出來 是正常OK的

可是我把B.swf放到WEB上
A.swf在主機上測 這樣連到B.swf
trace出來A.swf的全域變數 在
B.swf 找不到耶!


這是為什麼?有辦法解決嗎? THX^^

Shinder 提到...

跨網域的問題,
請查看一下文件 crossdomain 的安全性

匿名 提到...

跨網域的問題,
請查看一下文件 crossdomain 的安全性

我查過了,可是還是不知道有什麼辦法可以在
"把B.swf放到WEB上,A.swf在主機上測,這樣連到B.swf" 的情況下,在B.swf取得A.swf的全域變數

"跨網域的資料負載是不被允許" 是這個關係嗎?

可以再說詳細一點嗎? ^^桑Q

Shinder 提到...

你的「連」是什麼樣的方式?
可不可以弄個實際的例子 ?!

匿名 提到...

在A.swf

var container:LoaderContext = new LoaderContext();
container.checkPolicyFile = true;

var loader:Loader = new Loader();

var str:URLRequest = new URLRequest(B.swf);
loader_open();
loader.load(str,container)

這樣子載入B.swf

匿名 提到...

版主你好:
請問上面全域變數的例子怎麼用,目前我只會簡單的場景宣告,類別的部分還不會定義,目前我的問題是一開始把i值帶到vsfunction執行
但他只會+1次,第二次再進來vs function i值還是等於1

var i:Number=0;
function vs() {
if (pc==3 && user==1){i++;}

方便告知我該怎麼做嗎~~^^ 感謝

FB 留言