Corona:如何使用setGravity(0,0)使linearDamping工作

时间:2018-05-07 14:39:25

标签: corona

我对Corona来说很新,我尝试开发类似冰球的游戏(从顶部看)。因此,我不需要引力。如果我想推动冰球 - 我可以在这种模式下模拟冰的摩擦吗?

我使用linearDamping但是冰球不会随着时间的推移而降低它的速度。我做错了什么?

local physics = require "physics"
physics.start()
physics.setGravity( 0, 0 )

local backGroup = display.newGroup();
local stoneGroup = display.newGroup();

local ground = display.newImageRect(backGroup, "assets/images/background-ice.png", 723, 1400 )
ground.x = display.contentCenterX
ground.y = display.contentCenterY

local activeStone = display.newImageRect( stoneGroup, "assets/images/puck.png", 150, 150 )
activeStone.x = display.contentCenterX
activeStone.y = display.contentHeight
activeStone.linearDamping = 100

physics.addBody( activeStone, "dynamic", { radius = 150, bounce = 0 }     )


local function pushPuck ()
  activeStone:applyForce( 0, - 100, activeStone.x, activeStone.y)
end

activeStone:addEventListener( "tap", pushPuck )

1 个答案:

答案 0 :(得分:0)

在我看来,你可能需要一个摩擦接头。

请参阅http://www.sdknews.com/cross-platform/corona/tutorial-physics-joints-explained-part-1

  

摩擦接头配置极其简单。它已经习惯了   模拟两个物体之间的自上而下的摩擦力。这可能很有用   模拟平移(定向)摩擦和角度   两个连接物体之间的(旋转)摩擦。

     

涉及摩擦接头的两个示例场景是:

     
      
  1. 在冰壶比赛中模拟石头。在这种情况下,您可以使用   当石头向下移动时,石头上的摩擦接头就像石头一样   玩家(“扫墓者”)改变了石头前面的冰状态,   你可以调整的方向和旋转摩擦   联合。
  2.   
  3. 模拟高尔夫球滚过不同类型的球   地形。在这种情况下,摩擦力会非常低   球是在果岭上,但如果球越过更高的草或   沙子,摩擦力可以显着增加,以减缓摩擦。
  4.