gpt4 book ai didi

actionscript-3 - 为什么我在这里出现错误1118?

转载 作者:行者123 更新时间:2023-12-02 10:50:31 25 4
gpt4 key购买 nike

在下面的代码中,我有几个都是TheBeetle()的MovieClip。它们位于另一个名为gamelevel的MovieClip中,并且也被推送到一个名为bArray的数组中。以前我已经在游戏级别为它们建立了索引,但是在调用事件侦听器之后,我无法再为它们建立索引并收到错误“1118:静态类型为Object的值隐式强制转换为可能不相关的类型flash.display:DisplayObject。”当用户单击它们时,它们死亡(并更改框架),并且尸体位于其他有生命的尸体之下,这就是我需要在它们死时将它们索引为1的原因。我了解错误说明了什么,但是我该怎么做呢?
该代码可以正常工作,但是不能在我提到的两行中使用,所以请看一下:

public function clicked (event:MouseEvent)
{
if (event.target is TheBeetle && event.target.currentFrame <= 2)
{
var mc:Object = event.target

// TheBeetle is actually a MovieClip but i cannot write: var mc:MovieClip = event.target, if i do i receive 1118


if (mc.currentFrame == 1)
{
mc.gotoAndStop (Math.floor(Math.random() * 3 + 4));
}
else
{
mc.gotoAndStop (3);
}
mc.filters = null;

// Here i need to index the TheBeetle as i did before like gamelevel.setChildIndex(mc,1) but i'd receive 1118!

bArray.splice (bArray.indexOf(mc),1);

if (bArray.length == 0)
{
removeEventListener (Event.ENTER_FRAME,frameHandler);
waveTimer.removeEventListener (TimerEvent.TIMER_COMPLETE, changeLocation);
}
}
}

最佳答案

您需要将目标显式转换为MovieClip类:

var mc:MovieClip = MovieClip(event.target);

您可能需要在检查目标的currentFrame的行之前执行此操作,因为“Object”没有currentFrame方法。

关于actionscript-3 - 为什么我在这里出现错误1118?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22804716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com