【发布时间】:2011-12-01 21:50:51
【问题描述】:
我正在尝试从另一个子类 (Wedge.as) 调用一个子类 (Circle.as) 中的函数。 Circle.as 由文档类 (Tree.as) 实例化,Wedge.as 由 Circle.as 实例化。我该怎么做呢?这是我的代码:
树.as
package com.treediagram
{
public class Tree extends MovieClip
{
var firstCircle:Circle = new Circle();
addChild(firstCircle);
}
}
Circle.as:
package com.treediagram
{
public class Circle extends MovieClip
{
private var wedge:Wedge;
public function Circle()
{
var circleHolder:MovieClip = new MovieClip();
var circleClip:MovieClip = new MovieClip();
circleClip.addEventListener(MouseEvent.CLICK,circleClickedEvent);
}
private function circleClickedEvent(e:MouseEvent):void
{
var wedgeHolder:MovieClip = new MovieClip();
circleHolderRef.addChildAt(wedgeHolder,1);
var wedge:Wedge = new Wedge(wedgeHolderRef);
wedge.addEventListener(MouseEvent.CLICK,wedgeClickEvent);
}
private function wedgeClickEvent(e.target){
trace ('click'); //NOT WORKING
}
}
}
楔形.as
package com.treediagram
{
public class Wedge extends MovieClip
{
public function Wedge(wedgeHolderRef)
{
var wedgeClip:MovieClip = new MovieClip();
wedgeClip.addEventListener(Event.ADDED_TO_STAGE, wedgeAddedEvent);
wedgeHolderRef.addChild(wedgeClip);
}
}
}
我在这里看到了一个类似的问题:
How to call a function in a Class from another Class?
但这与我的问题有关,因此有点难以理解。其中一种解决方案有效,但被评论为错误的形式,而另一种则无效,因此我想确保我的代码结构正确。
【问题讨论】:
标签: flash actionscript-3 class singleton