我对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 )
答案 0 :(得分:0)
在我看来,你可能需要一个摩擦接头。
请参阅http://www.sdknews.com/cross-platform/corona/tutorial-physics-joints-explained-part-1
摩擦接头配置极其简单。它已经习惯了 模拟两个物体之间的自上而下的摩擦力。这可能很有用 模拟平移(定向)摩擦和角度 两个连接物体之间的(旋转)摩擦。
涉及摩擦接头的两个示例场景是:
- 在冰壶比赛中模拟石头。在这种情况下,您可以使用 当石头向下移动时,石头上的摩擦接头就像石头一样 玩家(“扫墓者”)改变了石头前面的冰状态, 你可以调整的方向和旋转摩擦 联合。
- 模拟高尔夫球滚过不同类型的球 地形。在这种情况下,摩擦力会非常低 球是在果岭上,但如果球越过更高的草或 沙子,摩擦力可以显着增加,以减缓摩擦。
醇>