1
화면에서 드래그 할 수있는 볼을 향해 움직이는 객체를 임의로 생성하려고합니다. 기본적으로 나는이 객체를 피하려고 시도하기를 원한다. 화살을 스폰하고 공 위치를 향해 이동 한 다음 시간이 지나면 사라질려고합니다. 이 코드는 첫 번째 화살표에서는 잘 작동하지만 두 번째 화살표는 삭제하려고 시도 할 때 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' 함수는 항상 여러분이 생성 한 마지막 객체의 id 인 전역 objectTag를 사용합니다. 그건 제대로 작동하지 않을거야. 당신은'cleararray'가 당신이 시간 초과하고있는 객체의 objectTag에 대해 작동 할 필요가 있습니다. –