快速問題。我整個早上一直在Google上搜索,但它要麼不在那裏,要麼以未註冊的方式書寫。我傾向於相信後者,因爲這看起來應該對我來說完全無關緊要。如何從Actionscript 3.0中的另一個類實例引用一個類實例?
我使用AS 3.0製作了一個小型Flash文件,這是我第一次真正能夠堅持OOP的做事方式,而不是將時間線上的東西混合在一起,讓所有的東西都在課堂上工作。
所以我想保持這種方式,但有一件事是讓我難以理解的:我無法調用另一個類的實例的方法(而不是我調用的方法),而無需訴諸「DocumentClass (根).instanceName.method「。直覺告訴我必須有一個更好的方法來做到這一點(比如,每次我調用另一個類實例的函數時不必引用文檔類;並且一定不用「root」這個詞 - 只是似乎因此Flash 5我
沒有任何人有這樣做的更好的方式,他們可以共享
在此先感謝SS
編輯:?!下面是一些相關的代碼: 主類:
package myApp {
import flash.display.*;
import flash.events.*;
public class Main extends flash.display.MovieClip {
public var background;
public var control;
public function Main() {
//load the background
this.background = new Background();
this.addChild(background);
//load the control
this.control = new Control;
this.addChild(control);
}
}
}
背景類:
package myApp {
import flash.display.*;
import flash.events.*;
public class Background extends flash.display.MovieClip {
public function Background() {
this.x = 0;
this.y = 0;
}
public function doSomething() {
//do something here
}
}
}
控制類:
package myApp {
import flash.display.*;
import flash.events.*;
public class Control extends flash.display.MovieClip {
private var section01;
private var section02;
private var section03;
public function Control() {
//some constructor code here
}
public function doSomethingCaller() {
MyApp(root).background.doSomething(); <--- HERE
}
}
}
對不起,但這只是在我的頭上。就像,我不明白你爲什麼要將額外的類導入到你的Main類中,並且這讓我想我可能做錯了什麼。讓我在上面發佈一些代碼,也許你會看到我在說什麼。 – StormShadow 2010-12-10 08:42:29