【发布时间】:2013-12-13 17:03:13
【问题描述】:
我正在尝试随机生成朝向可以在屏幕上拖动的球移动的对象。基本上我只是希望用户尽量避免这些对象。我试图让箭头产生并向球的位置移动,然后在一段时间后消失。此处的代码适用于第一个箭头,但是当它尝试删除它调用的第二个箭头时,错误提示 attempt to call method 'remove self' (a nil value)。
local function cleararray()
if ( object[objectTag] ) then
object[objectTag]:removeSelf()
end
end
local function spawnObject()
objectTag = objectTag + 1
local objIdx = mRandom(#objects)
local objName = objects[objIdx]
object[objectTag] = display.newImage("btn_arrow.png")
object[objectTag].x = mRandom(320)
object[objectTag].y = mRandom(480)
object[objectTag].name = objectTag
print(objectTag)
transition.to( object[objectTag], { time=2000, y=myObject.y, x=myObject.x } )
timer.performWithDelay(2000,cleararray,1)
end
【问题讨论】:
-
尝试调用方法
remove self?你确定你不是指removeSelf?有区别。 -
您的
cleararray函数正在使用全局objectTag,它始终是您创建的最后一个对象的ID。那将无法正常工作。您需要让cleararray对您正在超时的对象的objectTag 进行操作。