为什么physics.addBody抛出表预期错误?

时间:2019-04-28 19:19:03

标签: lua corona

我是Lua和Corona的完整入门者,我正在尝试自学如何使用它。我现在有以下代码:

local physics = require("physics")
physics.start()

local cX = display.contentCenterX
local cY = display.contentCenterY

local ball = display.newCircle( cX, cY, 50 )

local rock = display.newRect( cX, 1200, 800, 100 )
rock:setFillColor( 0.5, 0.5, 0.5 )

local properties = { density=1.0, friction=0.3, bounce=1 }

physics.addBody( "ball", "dynamic", properties )
physics.addBody( "rock", "static", properties )
physics.setDrawMode( "debug" )

但是,当我运行此命令时,它在将物理物体添加到球的线上给了我这个错误:

ERROR: table expected. If this is a function call, you might have used '.' instead of ':'

我似乎无法弄清楚为什么这会引发错误。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

收听错误消息,它们可能会提供帮助甚至答案,例如这次:If this is a function call, you might have used '.' instead of ':'

改为使用physics:addBody( "ball", "dynamic", properties ),就像在rock:setFillColor( 0.5, 0.5, 0.5 )中一样。实际上,a:b(c)a.b(a, c)是等价的,并且在您必须在像这样的对象上调用方法时经常使用。