快速问题。我整个早上一直在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