Test.as
class Test {
public function Test() {
trace("Test()");
}
public function showMsg():Void {
trace("123");
}
}
content1.fla
var test:Test = new Test();
test.showMsg();
輸出 content1.fla --> content1.swf
Test()
123
content2.fla
var test:Test = new Test();
test.showMsg();
修改 Test.as
class Test {
public function Test() {
trace("Test()");
}
public function showMsg():Void {
trace("456");
}
}輸出 content2.fla --> content2.swf
Test()
456
main.fla
loadMovieNum("content1.swf", 2);
loadMovieNum("content2.swf", 3);輸出 main.fla --> main.swf
Test()
456
Test()
456
將 Test.as 改回輸出 "123"
class Test {
public function Test() {
trace("Test()");
}
public function showMsg():Void {
trace("123");
}
}輸出 content1.fla --> content1.swf
Test()
123
輸出 main.fla --> main.swf
Test()
456
Test()
456
簡單來說,若是你有兩個 SWF 都有用到相同的類別,在實際執行時,只有第一次被載入的類別會被運用,因為類別載入後,會成為一個 global 的 function,第二次有別的 SWF 會使用到該類別時,會直接運用。然而,若是開發時,類別有做過異動,使得新載入的 SWF 可能有使用較新的類別檔的話,將會看不到改變後的效果。所以,仍然必須全部有使用到該類別的 SWF 都重新被輸出過才行。
0 意見:
張貼意見