我在使用ActionScript 3时遇到了一些问题,我来这里是为了寻求帮助。
我有两节课。一个名为Sledge
,一个名为Sock
,还有一个名为Main
的文档类。
我的问题如下:
在Sledge
内,我调用了一个在Main
文档类中定义的函数。我如何告诉班级去文档课并运行该功能?对于其他类或文档类,这也是相同的吗?
在Sledge
内,我有以下声明:if(hitTestObject(sock.myHitArea)) { /* somecode*/ }
sock
是另一个单独类的实例,到目前为止已经创建了。但是,当我尝试运行这个时,我被告知它没有定义。我将如何解决这个问题?
答案 0 :(得分:1)
您表达问题的方式存在一些含糊不清的问题。如果您发布了问题的简短代码,这将有所帮助。
但是,我会尝试回答第一个问题:
在Sledge内部,我调用一个在Main文档类中定义的函数。我如何告诉班级去文档课并运行该功能?
您可能希望将Main类传递给Sledge类或使用更可取的事件。如果通过课程,它将看起来像这样......
class Sledge {
private var main:Main;
function Sledge(main:Main) {
this.main = main;
}
function doSomething():void {
main.runSomeFunction();
}
}
或者如果使用事件:
class Main {
private var sledge:Sledge;
function Main() {
sledge = new Sledge();
sledge.addEventListener("mainDoSomething", doSomething);
}
private function doSomething(e:Event):void {
// .... do stuff
}
}
class Sledge extends EventDispacter {
function Sledge() {
}
public function doSomething():void {
dispatchEvent(new Event("mainDoSomething"));
}
}