【发布时间】:2013-09-28 05:08:49
【问题描述】:
我正在开发一个蛇游戏项目。我有三个名为:
Engine.javaGameBoard.javaSnake.java
我在这个项目中添加了两个JFrames。第一帧是三个按钮:
playrulesexit
当我们点击rules 按钮时,它会打开rules jframe(它正在工作)。当我们单击play 按钮时,它应该运行贪吃蛇游戏。请建议我点击play按钮实际开始游戏时应该怎么做。
这是我在play按钮actionPerformed方法中复制的代码:
JFrame frame = new JFrame("SnakeGame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
Canvas canvas = new Canvas();
canvas.setBackground(Color.black);
canvas.setPreferredSize(new Dimension(GameBoard.MAP_SIZE * GameBoard.TILE_SIZE, GameBoard.MAP_SIZE * GameBoard.TILE_SIZE));
frame.add(canvas);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
new Engine(canvas).startGame();
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
-
@ankush-pruthi 请使用编辑按钮,添加
Engine代码并写下更多关于您的问题的信息——您期望什么?你尝试什么?等 -
不要使用作为 AWT 组件的 Canvas。在 Swing 程序中,您将使用 JPanel。
-
@rebeliagamer:在这个问题上,我遇到了一个问题,比如当我点击播放按钮时,游戏板出现在屏幕上,“蛇”和“水果”也出现了,但问题是蛇不动。最初在这个项目中只有三个类,为了改进 GUI,我从我身边添加了两个 JFrame。一个 Jframe 包含三个按钮,其中有一个“播放”按钮,我希望单击播放按钮时游戏应该开始,但我面临的问题是游戏板出现在屏幕上,但蛇没有移动,而且输出也是挂起太
-
@camickr 此方法不适用于 JPanel canvas.createBufferStrategy(2); .. 是否有任何替代方法可以与 JPael 一起用于相同目的。
标签: java swing jbutton actionlistener