我为Android开发了一个简单的游戏,其中玩家需要躲避黑色矩形并在它们之间移动外星人。示例:
我实现了一些非常基本的冲突检测,基本上只包含一行代码:
public boolean playerCollide( RectPlayer player ) {
return Rect.intersects(rectangle, player.getRectangle())
|| Rect.intersects(rectangle2, player.getRectangle());
}
为清楚起见,播放器是绘制在矩形上的位图,每个障碍(行)都由两个黑色矩形组成。
这种碰撞检测方法相对便宜且容易,但存在一个问题:
如您所见,由于玩家是一个矩形,因此当图像的透明像素与障碍物碰撞时,游戏也会检测到碰撞。
我的问题是,如何升级碰撞检测,使其仅在玩家的非透明像素撞到障碍物时才检测碰撞?