我正在尝试创建一个益智游戏,到目前为止没有任何问题移动碎片和所有但是当我试图检查片断位置后stopDrag我得到一个错误消息:错误#1010:一个术语是未定义的,没有属性。
这是相关代码: full1是一个动画片段,其中包含具有低alpha和拼图的拼图图片,每个拼图都有自己的实例名称。 在这个例子中,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;
}
}
}
如果有人发现我写的内容有任何问题或更好地了解如何处理此问题,我将非常感谢您的帮助。 感谢。
答案 0 :(得分:0)
有一次,你使用“even.target.startDrag();”开始拖动。
但是在另一个函数中,你使用“this.stopDrag();”停止拖动。
您应该始终使用“this”或始终使用“even.target”。这可能是导致错误的原因。
最好知道崩溃发生在哪一行。
答案 1 :(得分:0)
看起来应该是even.target.stopDrag()
而不是this.stopDrag()
(因为你开始拖拽even.target
)。除非在stopDrag()之后发生错误,否则它看起来不足以回答。
旁注,最好在checkPos()函数之外进行名称检查。 e.g:
this.stopDrag();
if(even.target.name == "tr1")
{
checkPos();
}
从checkPos()中删除名称检查。