Actionscript 3 如何使用链接类访问动态/静态movieclip?
嗨,这个问题仍然困扰着我。看起来很简单。 我在lib和stage中得到了movieclips,其中有一个链接类“Box.as”,另一个链接到“Circle.as”。 我想从Circle.as访问Box.as的movieclip,反之亦然Actionscript 3 如何使用链接类访问动态/静态movieclip?,actionscript-3,flash-cs5,Actionscript 3,Flash Cs5,嗨,这个问题仍然困扰着我。看起来很简单。 我在lib和stage中得到了movieclips,其中有一个链接类“Box.as”,另一个链接到“Circle.as”。 我想从Circle.as访问Box.as的movieclip,反之亦然 public class Circle extends MovieClip { private var _circle:MovieClip; private var _box:Box; public function Circle()
public class Circle extends MovieClip
{
private var _circle:MovieClip;
private var _box:Box;
public function Circle()
{
_circle = new MovieClip();
if (stage) onStage();
else this.addEventListener(Event.ADDED_TO_STAGE,onStage);
}
private function onStage(e:Event = null)
{
_circle = stage.getChildByName("blue_circle") as MovieClip;
this.addEventListener(Event.ENTER_FRAME,hitTarget);
}
private function hitTarget(e:Event):void
{
if (_circle.hitTestObject(_box.mc)) //test if 2 movieclips are colliding
{ // _box.mc is just created the same as _circle
trace("hi");
}
}
这个密码不起作用。我想使用一个即使movieclip不在舞台上也能访问的软件(没有实例名)。希望你能帮助我。谢谢。看来你真的很接近了!您只是忘记了创建类的新实例
Box
。因此,在您的公共函数圈()中只需添加
_box = new Box();
让我知道这是否有效。如果没有,你的链接可能有问题
您的整个代码将如下所示
public class Circle extends MovieClip
{
private var _circle:MovieClip;
private var _box:Box;
public function Circle()
{
_box = new Box();
_circle = new MovieClip();
if (stage) onStage();
else this.addEventListener(Event.ADDED_TO_STAGE,onStage);
}
private function onStage(e:Event = null)
{
_circle = stage.getChildByName("blue_circle") as MovieClip;
this.addEventListener(Event.ENTER_FRAME,hitTarget);
}
private function hitTarget(e:Event):void
{
if (_circle.hitTestObject(_box.mc)) //test if 2 movieclips are colliding
{ // _box.mc is just created the same as _circle
trace("hi");
}
}
哦对不起,我只是忘了在我的帖子里加上这个。但这是真正的代码,仍然不起作用。我还试着追踪_box.mc或_圆圈,但它追踪空。如果你链接正确,我肯定这就是你所需要的,我已经做了一百万次了。仔细检查类是否位于正确的包中,链接变量时是否正确大写,以及是否使用正确的名称保存文件。也许还可以把你遇到的错误贴出来。是说不能访问空对象?也有可能您没有导入某些内容…请确保您已进行了所有正确的导入…还有一件事要尝试。尝试添加child(_-box),然后运行代码,看看这是否至少有效。