- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏13
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏14
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏20
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏21
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏15
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏17
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏16
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏18
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏19
- 手把手一步一步教你使用Java开发一个大型街机动作闯关类游戏06
设置player移动范围
config.java
我们的窗口size是640*480
public final static int BOUND_LEFT = 50;
public final static int BOUND_RIGHT = 555;
public final static int BOUND_TOP = 150;
public final static int BOUND_BOTTOM = 330;
player.java
上下左右箭头控制player移动时,增加边界判断
private int _topLocked = 0;
private int _bottomLocked = 0;
private int _leftLocked = 0;
private int _rightLocked = 0;
private void _handleMovement(){
_keyPressed = false;
if(_input.isKeyDown(KeyEvent.VK_UP) && getZ() > _topLocked){
_keyPressed = true;
move(0, -_yspeed);
}
if(_input.isKeyDown(KeyEvent.VK_DOWN) && getZ() < _bottomLocked){
_keyPressed = true;
move(0, _yspeed);
}
if(_input.isKeyDown(KeyEvent.VK_RIGHT) && _animator.getX() < _rightLocked) {
_keyPressed = true;
move(_xspeed,0);
}
if(_input.isKeyDown(KeyEvent.VK_LEFT) && _animator.getX() > _leftLocked) {
_keyPressed = true;
move(-_xspeed,0);
}
if(!_keyPressed){
_animator.setAnimation("idle");
_animator.translate(0,0);
}
}
GameApp.java
初始时设置四周边缘阈值
_player.setLockedBounds(Config.BOUND_TOP, Config.BOUND_BOTTOM,
Config.BOUND_LEFT, Config.BOUND_RIGHT);
如果您迷路了,请查看本节完整源码:
网友评论