【发布时间】:2020-09-09 13:37:24
【问题描述】:
嘿,所以我正在制作一个与 Flappy Bird 非常相似的 2D 游戏(点击屏幕时你会跳跃)。游戏的重点是抓住向你走来的绿色方块。
我遇到的问题是,当我的玩家撞到绿色方块时,它似乎会与它发生碰撞(它会将玩家抛向某个随机方向,甚至像撞墙一样停在原地),即使在碰撞绿色方块时也是如此正在被摧毁。 因此,每当玩家击中绿色方形预制件时,它会增加分数并破坏方形,但有时当我在击中方形之前跳跃时它会停止,就像它与它相撞一样直接通过。
玩家预制件有一个刚体组件和一个 2d 方形碰撞器。 绿色方形预制件只附加了一个 2d 方形碰撞器组件。
我对 Unity 很陌生,这是我开始开发的第一款游戏。 如果您需要任何进一步的信息,请随时询问。
Here is the player's rigidbody and 2d collider settings
Here is the green square's 2d collider settings
也许这张游戏画面可以提供帮助。 想象蓝色方块是玩家,绿色方块是你必须击中的点,红色的东西只是杀死你的敌人,所以不要介意他们。玩家站着不动,绿色方形预制件附有一个脚本,为他们增加了恒定的力量。希望这让它更清晰。
【问题讨论】:
-
绿色元素是否需要相互碰撞或与其他东西碰撞?如果没有,您可以使用triggers“配置为触发器的对撞机(使用 Is Trigger 属性)不会像实体对象那样运行,只会允许其他对撞机通过。”
-
你能提供你的GameObjects配置的截图吗?主要是刚体和方形碰撞器?
-
好的,为了让事情更清楚一点,绿色的东西有一个恒定的力施加在它们身上,以便从屏幕一侧移动到玩家身边。它们只与玩家互动,而不是彼此或其他游戏对象。