Java 2D-实际玩家碰撞检测|忽略透明度

时间:2015-03-02 17:30:01

标签: java 2d collision tile

所以我正在创建一个与Tiles一起使用的2D游戏平台。目前它不会让玩家通过任何瓷砖并且工作正常。而不是将玩家停在坚固的瓷砖上。我想让玩家停在一个真实的物体上。 假装三角形位于图块中。

发生了什么:

What's happening

我想要的是什么:

enter image description here

我希望玩家能够穿过瓷砖,直到他们不再是透明的。基本上走在三角形上。

Player Class http://pastebin.com/SJrzSvVV    
Tile Class http://pastebin.com/V3nqxh61] 
TileMap Class http://pastebin.com/fuj8dR5K

2 个答案:

答案 0 :(得分:0)

您应该查看Java2D API提供的intersects()方法。

您可以将两个精灵定义为形状,并在两个形状相交时调整坐标。我猜你正在拆分一个BufferedImage来创建动画帧。 您可以在精灵周围绘制一个矩形或椭圆框架,并检查它们是否有碰撞。这些框架不必是可见的,但在调试时可以看到它们。

答案 1 :(得分:0)

想出来,基本上我做的是我用瓷砖创造这个游戏。我创建了一些东西来扫描一块瓷砖并找出它透明的位置,并允许玩家通过它,具体取决于透明度是否已经在瓷砖中的某些内容。