Lua 错误参数#-1到';addBody';(预期代理,获得零)
我正在使用这段代码生成objects,但有时会出现这样的错误(addBody(Proxy expected,got nil)的错误参数#-1),知道为什么吗Lua 错误参数#-1到';addBody';(预期代理,获得零),lua,coronasdk,Lua,Coronasdk,我正在使用这段代码生成objects,但有时会出现这样的错误(addBody(Proxy expected,got nil)的错误参数#-1),知道为什么吗 local numberRock = 1 local function clearRock( thisRock ) display.remove( thisRock ) ; thisRock = nil end local function spawnRocks() rockChek = math.random(1, 7)
local numberRock = 1
local function clearRock( thisRock )
display.remove( thisRock ) ; thisRock = nil
end
local function spawnRocks()
rockChek = math.random(1, 7)
if rockChek == 1 then
rocks = display.newImageRect("rockes/rock1.png",110 ,86 )
elseif rockChek == 2 then
rocks = display.newImageRect("rockes/rock2.png",97 ,65 )
elseif rockChek == 3 then
rocks = display.newImageRect("rockes/rock3.png",101 ,61 )
elseif rockChek == 6 then
rocks = display.newImageRect("rockes/rock4.png",95 ,59 )
elseif rockChek == 7 then
rocks = display.newImageRect("rockes/rock5.png",107 ,77 )
end
for i=1,numberRock do
rocks.x = math.random(-10, 400);
rocks.y =display.contentHeight + 100;
transition.to( rocks, { time=2000, y= display.contentHeight - display.contentHeight - 100 , onComplete=clearRock } );
physics.addBody( rocks, "dynamic", {density=.1, bounce=0.1, friction=.2, shape= shape2 ,filter=playerCollisionFilter } )
rocks.name = "rocks"
rocks.isSensor = true
rocks.rotation = math.random(100, 1800)
end
end
Rockspawner1 = timer.performWithDelay( 1500, spawnRocks, 0 )
您忘记处理
rockCheck
为4或5的情况。加上这些,你就没事了
或者,将ramdom调用从1改为5,并将6和7分别替换为4和5
顺便说一下,确实考虑了<代码> ROCKECUT/<代码>代码>本地< /代码>变量(用<代码>本地ROCCHECK=…./COD>) <代码>岩石< <代码> > <代码> nIL/COD>在下面的行中,<代码> ROCCHECK/<代码>的随机值为4或5
physics.addBody( rocks, "dynamic", {density=.1, bounce=0.1, friction=.2, shape= shape2 ,filter=playerCollisionFilter } )