【发布时间】:2016-06-01 05:41:44
【问题描述】:
这是我开始的代码:
numTrumps=100
local function startGame()
myTrump=display.newImageRect("tp.png",25,25)
myTrump.x=Random(50,_W-50)
myTrump.y=(_H+10)
physics.addBody(myTrump,"dynamic",{density=.1,friction=0,bounce=.9,radius=9})
function myTrump:touch(event)
if(timeLeft~=false) then
if (playerReady==true) then
if(event.phase=="ended") then
removeTrumps(self)
end
end
end
end
myTrump:addEventListener("touch",myTrump)
trumps=trumps+1
if(trumps==numTrumps) then
gameTimer=timer.performWithDelay(1000,countDown,totalTime)
else
playerReady=false
end
end
local gameTimer=timer.performWithDelay(20,startGame,numTrumps)
local function Restart(event)
if "began"==event.phase then
if(timeLeft~=false) then
timer.cancel(gameTimer)
gameTimer1=timer.performWithDelay( 20, ByeTrump, 96)
end
end
if "moved"==event.phase then
end
if "ended"==event.phase then
composer.gotoScene("restarttest")
end
end
function ByeTrump()
display.remove(myTrump)
end
所以从 numTrumps=100 开始,基本上 startGame 函数会重复 100 次,因此每次都会创建同一对象 (myTrump) 的新图像。一旦我重新启动,我想删除该对象的副本,所以我创建了一个函数(ByeTrump),其中一个 myTrump 被删除,我通过在重新启动函数中创建另一个游戏计时器重复了 96 次。出于测试目的,我让 96 消失而不是 100,但在我的游戏中,您有 20 秒的时间来触摸尽可能多的 100 个 myTrumps,并且在触摸它们时它们消失了。一旦 20 秒结束,您就无法再触摸它们,因此您必须重新开始。
所以我的问题是,当我单击重新启动时,只有一个 myTrump 消失,而不是剩余的 99 个(出于测试目的,我在 20 秒内没有触摸任何 myTrump)。因此,当新的 100 个 myTrump 在重新启动后出现时,它们会发生碰撞与上一轮的那些,即使最后一个不再可见,就像它们是不可见的一样 a=但仍然与新的碰撞。
【问题讨论】:
标签: lua coronasdk displayobject