如何在点击时改变对象方向?

我是 Lua 的新手。这是我尝试过的代码:

local function tapListener( event )

-- 当按钮被点击时执行的代码
if crate.gravityScale == 1 then crate.gravityScale=-1
if crate.gravityScale == -1 then crate.gravityScale=1
-- "event.target" 是被点击的对象
return true
end

local myButton = display.newRect( 540, 960, 1080, 1920 )
myButton:setFillColor( 0, 0.01 )
myButton:addEventListener( "tap", tapListener )
-- 向对象添加一个 "tap" 事件监听器

我应该怎么正确地实现这个功能呢?我无法只从 API 参考文档中理解它。

.......

2017 年 8 月 19 日更新: 我不喜欢重力的效果,我改为使用 setLinearVelocity,但现在它无法在点击时改变方向了。下面是我尝试过的代码:

speed = 400

-- 创建一个箱子(在屏幕外),设置位置并轻微旋转
local crate = display.newImageRect( "crate.png", 90, 90 )
crate.x, crate.y = 540, 1750
crate.rotation = 0
physics.addBody( crate, "dyanamic" )
crate:setLinearVelocity(speed, 0)

local function tapListener( event )

speed = speed == 400 and -400 or 400
return true
end

local myButton = display.newRect( 540, 960, 1080, 1920 )
myButton:setFillColor( 0, 0.01 )
myButton:addEventListener( "tap", tapListener )

我哪里做错了?

点赞