重写方法。
@Override
public void keyPressed(KeyEvent e) {
//获取按下的键是哪个键
int keycode=e.getKeyCode();
if(keycode==KeyEvent.VK_SPACE){//如果按下的是空格
isStart=!isStart;
repaint();//刷新
}
}
构造器监听:
//构造器
public game(){
init();
//获取键盘监听
this.setFocusable(true);
this.addKeyListener(this);
}
Timer timer=new Timer(100,this);//定时器
添加接,重写方法
定时器监听时间
//定时器,监听时间,帧,执行定时操作
@Override
public void actionPerformed(ActionEvent e) {
//如果游戏处于开始状态
if(isStart){
for(int i=lenth-1;i>0;i--){//身体动
snakeX[i]=snakeX[i-1];
}
snakeX[0]=snakeX[0]+25;
repaint();//刷新界面
}
timer.start();//计时器启动
}
构造器中也要加入timer.start();
这里再做一个边界判断:
//边界判断
if(snakeX[0]>830){
snakeX[0]=25;
}
这样就能让小蛇动起来了。
标签: 开发日记