尝试捕捉拼图时的闪光错误1010



我正在尝试创建一个益智游戏,到目前为止,移动棋子没有问题,但当我尝试在stopDrag后检查棋子位置时,我收到了一条错误消息:错误#1010:一个术语未定义,没有属性。

这是相关代码:full1是一个movieclip,它包含一张低阿尔法的拼图图片和拼图块,每个拼图块都有自己的实例名称。在本例中,tr是其中一个片段的实例名。

    public function Move(even:MouseEvent)
{
    even.target.startDrag();
}
    public function stopMove(even:MouseEvent)
{
    this.stopDrag();
    checkPos(even.target.name);
}
    public function checkPos(nameStr:String)
{
    if(nameStr=="tr1")
    {
        if(this.full1.tr1.x>=460&&this.full1.tr1.x<=465.5&&this.full1.tr.y>=99&&this.full1.tr.y<=103)
        {
            this.full1.tr.x=460.2;
            this.full1.tr.y=101.95;
        }
    }

}

如果有人看到我写的东西有任何问题,或者对如何处理有更好的想法,我将感谢你的帮助。谢谢

看起来应该是even.target.stopDrag()而不是this.stopDrag()(因为您开始拖动even.target)。除非错误发生在stopDrag()之后,否则在这种情况下,它看起来没有足够的信息来回答。

附带说明,最好在checkPos()函数之外进行名称检查。例如:

this.stopDrag();
if(even.target.name == "tr1")
{
    checkPos();
}

并从checkPos()中删除名称检查。

有一次,您使用"even.target.startDrag();"开始拖动。

但在另一个函数中,您可以使用"this.stopDrag();"来停止拖动。

您应该始终使用"this"或始终使用"even.target"。这可能是导致错误的原因。

如果能确切地知道碰撞发生在哪一行,那也很好。

最新更新