0

你好,我是 Tiago,我正在制作一个受 Flappy Bird 启发的 Android 游戏,所以我遵循了Unity 的官方教程(为我的鸟使用自定义精灵和脚本以获得更好的感觉);

但是你知道 Flappy Bird 必须是平滑的,我不能让我的感觉像原来的那样,滚动的对象似乎有点鬼,它们不断移动,但我特别注意到在 Android 上它们似乎以低 fps 移动,但是这只只能上下移动的鸟会平稳地移动,我正在为鸟使用 Velocity,但他是动态的,而不是运动学的 ->rb2d.velocity = new Vector2(0, FlapForce);

问题是我无法弄清楚如何移动运动障碍物(绿色管道)和风景对象(theGroundForExample)来制造小鸟移动的错觉。我试过这些

transform.Translate(Vector2.left * 17f * Time.deltaTime); - not smooth
rb2d.velocity = new Vector2(17f, 0); - not smooth
rb2d.velocity = rb2d.velocity.normalized * 17f; - doesn't do anything

我还尝试在重力为 0 时使它们动态化并使用 addForce,但它们不动看看有什么不同。

我已经阅读了许多其他相关的问题,我尝试了很多东西,但一切正常,我阅读了很多统一文档,我还阅读了这个:Timesteps and Achieving Smooth Motion in Unity 但我不明白如何实现以及它是如何工作的。

提前感谢所有阅读本文的人,非常感谢所有帮助,因为我被这个问题困扰了好几天,在修复这个问题之前我不想继续玩游戏,因为这是必不可少的,谢谢!

Edit1:这是我的意思的视频,我希望你能看到,因为我的电脑太糟糕而无法正确录制,我不得不用手机录制。 https://drive.google.com/file/d/1GqCf2u_sBxv9yDxiDvZ-8MS1FRWVcdRd/view?usp=drivesdk

Edit2:有一个 apk 文件(唯一的目的是让你看到管道没有顺利移动,你能看到的最好的方法就是在那里) https://drive.google.com/file/d/1zXdhz1ZexjRw3NbMrUxAh7_ShMXpj9jo/view?usp =drivesdk

4

0 回答 0