android - 我玩过各种物理设置,但对象仍然感觉太 "floaty"

标签 android ios box2d coronasdk flappy-bird-clone

我正在使用带有 Box2D 引擎的 Corona SDK,我正在尝试制作一个 Flappy Bird 风格的游戏,只是为了熟悉物理引擎。我试过增加主角的密度,增加重力,改变物理舞台的比例等等,但主角还是感觉太“飘”了。

增加重力已尽我所能,但仍有问题。如果用户连续快速点击屏幕,动量会迅速增加,角色会高速飞离屏幕。这是我的代码:

physics.setGravity( 0, 60 ) --default is 9.8

function screenTap()
    flappy.isFixedRotation = true
    flappy:applyLinearImpulse( 0, -300, flappy.x - 3, flappy.y )
    flappy.isFixedRotation = false
end

在最初的 Flappy Bird 游戏中,它似乎具有正常的重力,但快速点击屏幕不会使小鸟飞得太快。它几乎有保龄球一样“重”的感觉,但显然在这个世界上所有质量的物体都以相同的速度下落。我对物理引擎没有太多经验,所以我将不胜感激任何建议。

最佳答案

如果你最近玩过飞扬的小鸟,你应该已经观察到当你快速连续点击小鸟时,它的垂直速度并没有增加! Flappy Bird 开发人员似乎已将鸟的垂直速度设置为每当点击时的特定值,而不是让它垂直加速。

因此,我的建议是在屏幕被点击时简单地将角色的垂直速度设置为一个设定值,而不是加速它。

关于android - 我玩过各种物理设置,但对象仍然感觉太 "floaty",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21814359/

相关文章:

box2d - 如何使用Box2d实现2.5D世界

android - Xamarin Android 使用 GetExternalFilesDir() 获取 privateExternalStorage

ios - Firebase 身份验证自定义 token iOS

ios - swift中使用getter和setter设置变量扩展

xcode - 如何将 Box2d 添加到现有的 Xcode/Cocos2d 项目

random - LibGDX 内部调用 MathUtils.random() 干扰生成的随机数序列

android - Webkit 转换 : multiple properties on Android

android - 在 3G 上应用程序无法运行。在 WiFi 上工作正常

java - 向位图添加虚线边框

ios - 从数组中删除自定义对象 (Swift)