我使用Bucky的光滑Java教程做了一个简单的2D状态改变游戏,我修改了这个游戏,现在想在地图上设置碰撞,这样我的玩家就无法通过地图上的房子.我想我对碰撞的工作方式有所了解:
使用以下代码制作2个矩形:
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
Run Code Online (Sandbox Code Playgroud)
}
1为播放器,1为障碍物,我如何将其放入我的代码中?如何告诉java障碍物的矩形与播放器矩形不同?
然后在制作了2个矩形之后,我会设置一个if语句来说明如果相交这样做...
希望在此之后,我认为它会起作用.关于游戏的一些更多信息,它是一个状态改变游戏,它有一些方法,如init,渲染和更新的方法(我在哪里放置我的矩形和if语句,在更新方法中?),它还是一个顶上视图游戏有点像口袋妖怪,如果这有帮助.如果您需要我的代码,请询问,我现在不想让它过度拥挤这篇文章.
EDIT1:
package javagame;
import org.newdawn.slick.*;
import org.newdawn.slick.state.*;
public class Play extends BasicGameState{
Animation bucky, movingUp, movingDown, movingLeft, movingRight, movingBL, movingBR, movingFL, movingFR;
Image worldMap;
boolean quit = false;//gives user to quit the game
int[] duration = {200, 200};//how long frame stays up for
float buckyPositionX = 0;
float buckyPositionY = 0;
float shiftX = buckyPositionX + 320;//keeps user in the middle of the screem …Run Code Online (Sandbox Code Playgroud)