Java GUI编程贪吃蛇小游戏实现3 让小蛇动起来
2020-06-01 04:18
417 查看
让小蛇动起来
- 面板类实现两个接口
public class GamePanel extends JPanel implements KeyListener, ActionListener {
- 重写方法
//键盘监听事件 @Override public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode();//获得键盘按键是哪一个 if (keyCode==KeyEvent.VK_SPACE){//如果按下的是空格键 isStart=!isStart;//取反 repaint(); } //小蛇移动 if (keyCode==KeyEvent.VK_UP){ fx="U"; }else if (keyCode==KeyEvent.VK_DOWN){ fx="D"; }else if (keyCode==KeyEvent.VK_LEFT){ fx="L"; }else if (keyCode==KeyEvent.VK_RIGHT){ fx="R"; } } @Override public void keyReleased(KeyEvent e) { } @Override public void keyTyped(KeyEvent e) { } //事件监听-----需要通过固定时间来刷新 @Override public void actionPerformed(ActionEvent e) { if (isStart){//如果游戏是开始状态,就让小蛇动起来 //移动 for (int i = length-1; i > 0 ; i--) {//后一节移到前一节的位置 snakeX[i]=snakeX[i-1]; snakeY[i]=snakeY[i-1]; } //走向 if (fx.equals("R")){ snakeX[0]=snakeX[0]+25; //边界判断 if (snakeX[0]>850){ snakeX[0]=25; } }else if (fx.equals("L")){ snakeX[0]=snakeX[0]-25; //边界判断 if (snakeX[0]<25){ snakeX[0]=850; } }else if (fx.equals("U")){ snakeY[0]=snakeY[0]-25; //边界判断 if (snakeY[0]<75){ snakeY[0]=650; } }else if (fx.equals("D")){ snakeY[0]=snakeY[0]+25; //边界判断 if (snakeX[0]>650){ snakeX[0]=75; } } repaint();//重画 } timer.start();//定时器开启 }
- 初始化构造器添加代码
public GamePanel(){ init(); //获得焦点和键盘事件 this.setFocusable(true); this.addKeyListener(this); timer.start();//游戏一开始定时器就启动 }
- 设置定时器
Timer timer=new Timer(100,this);//100毫秒执行一次
相关文章推荐
- Java GUI编程贪吃蛇小游戏实现4 让小蛇吃食物长大
- java GUI编程-贪吃蛇游戏简单实现
- 使用javaGUI实现贪吃蛇小游戏
- java GUI编程-贪吃蛇游戏简单实现
- Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】
- Java实现简单的贪吃蛇小游戏(使用线程、内部类、双向链表等)
- 用 Java 实现贪吃蛇小游戏
- java swing 实现贪吃蛇小游戏
- Java GUI编程之图片分摊小工具的实现(初级)
- Java_GUI小游戏--贪吃蛇
- Java实现简单的计算器(GUI编程)
- java实现贪吃蛇小游戏
- Java GUI编程实现在线聊天室
- Java GUI编程(五)鼠标事件:实现画点
- Java ,实现贪吃蛇小游戏
- 贪吃蛇小游戏java实现代码分析
- Java实现利用搜索引擎收集网址的程序-Java基础-Java-编程开发
- java编程思想3感悟(5)---复用具体实现和复用接口
- 用Java实现HTTP文件队列下载-Java基础-Java-编程开发
- JAVA编程技巧之如何实现HTTP的断点续传