【问题标题】:Java 2D- Actual Player Collision Detection | Ignore TransparencyJava 2D- 实际玩家碰撞检测 |忽略透明度
【发布时间】:2015-03-02 17:30:00
【问题描述】:

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

发生了什么:

我想要什么:

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

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

【问题讨论】:

  • 1.你对你想要什么的描述不清楚。使用更多的词。注意,您使用“基本上”表明您自己认为不清楚,因此您添加了更多内容,但是您添加的内容也不清楚。 2. 请将您的代码编辑到您的问题中。
  • 更改了图像的布局,因为没有它,因为系统定位内联图像的方式,我完全不清楚什么文本属于哪个图片。

标签: java 2d collision tile


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    想通了,基本上我所做的就是使用图块创建这个游戏。我创建了一些东西来扫描一个图块并找出它在哪里是透明的,并允许玩家通过它,这取决于透明度是否已经在图块中的某个东西内。

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      相关资源
      最近更新 更多