我今年 11 岁,我使用 Java、HTML 和 CSS 进行编程。好吧,我拥有的是一款游戏,它是一款 Minecraft 2D 平台游戏。
好吧,我有一些水在一边,我想做的是当玩家与水相交时,我希望它放慢速度。如果有方法可以做到这一点,这是一个示例,以防您仍然不理解我的目标。
if (player.intersectsColor("0026FF"))
playerSpeed = 2;
else
playerSpeed = 3;
我今年 11 岁,我使用 Java、HTML 和 CSS 进行编程。好吧,我拥有的是一款游戏,它是一款 Minecraft 2D 平台游戏。
好吧,我有一些水在一边,我想做的是当玩家与水相交时,我希望它放慢速度。如果有方法可以做到这一点,这是一个示例,以防您仍然不理解我的目标。
if (player.intersectsColor("0026FF"))
playerSpeed = 2;
else
playerSpeed = 3;
我建议你不要用它的颜色而是用它的位置来表示水。这样你就可以检查玩家是否在代表水的“瓷砖”中,并相应地调整速度。
这可以通过 x/y 坐标的简单比较来完成(根据“tile”/“player”的大小进行调整)
如果您没有漂亮的网状瓷砖,而是曲线/多边形,则需要阅读几何以及如何计算(可能是弯曲的)线交点。确切的算法将取决于所使用的曲线。
我不鼓励您将颜色本身用于交叉点的原因有很多:
如果您真的想用颜色来表示地形,您可以将玩家在游戏中的坐标转换为屏幕坐标,然后查看屏幕上该坐标处的颜色像素(在玩家在场景中渲染之前),但这是凌乱。