求一个大神帮忙这一个java的java简单小游戏戏,非网页版,不需要游戏包,能运行就行留q

为什么Java的游戏版本升级后鼠标点游戏不好使,只能用键盘,求大神解答_百度知道
为什么Java的游戏版本升级后鼠标点游戏不好使,只能用键盘,求大神解答
我有更好的答案
java游戏升级后的版本可能鼠标事件的代码取消了,全部换成键盘事件,所以鼠标点击后,程序无法监听到鼠标的事件,游戏就没反应。
鼠标的事件没了
为您推荐:
其他类似问题
用键盘的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫一扫,记下我们的网址用java写了一个小游戏,运行起来太卡,有没有大神可以留个QQ帮我看看_百度知道
用java写了一个小游戏,运行起来太卡,有没有大神可以留个QQ帮我看看
我有更好的答案
没法留着,你查一下深圳远标
发我邮箱吧
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用一个坚定已久的信仰和信心,激发一段异想天开的脑洞和冲动。抵抗世界的强压,承受他人的质疑:你在相信什么?你想要改变什么?...
求大神帮忙完善一个java小游戏,急急急!!!!
新手一个,请大神。。。。。
在下面程序下添加实现如下功能:
1.鼠标控制图片角色运动
2.触碰到界跌落
3。跌落后弹出对话框提示游戏结束
4.设置背景
5.设置背景音乐
import java.awt.*;
import java.awt.event.ActionE
import java.awt.event.ActionL
import java.awt.event.KeyE
import java.awt.event.KeyL
import java.awt.image.BufferedI
import java.io.F
import java.io.FileInputS
import java.io.FileNotFoundE
import java.io.IOE
import java.util.ArrayL
import java.util.I
import java.util.R
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.border.B
class Ball {
int coodinateX, coodinateY, width, height, velocityX, velocityY;
public Ball(int cx, int cy, int w, int h, int vx, int vy, Color c,BufferedImage bimg,JFrame jf) {
coodinateX =
coodinateY =
velocityX =
velocityY =
this.bimg=
public void update() {
coodinateX = coodinateX + velocityX;
coodinateY = coodinateY + velocityY;
public void draw(Graphics g){
//g.setColor(color);
//g.fillOval(coodinateX, coodinateY, width, height);
g.drawImage(bimg,coodinateX,coodinateY,jf);
public void collide(int pW, int pH) {
if (coodinateX &= pW - width) {
// 判断是否撞上右边界
coodinateX = pW -
velocityX = -velocityX; // x速度变向
if (coodinateX &= 0) {// 判断是否撞上左边界
coodinateX = 0;
velocityX = -velocityX; // x速度变向
if (coodinateY &= pH - height) {// 判断是否撞上下边界
coodinateY = pH -
velocityY = -velocityY; // y速度变向
if (coodinateY &= 0) { // 判断是否撞到上边界
coodinateY = 0;
velocityY = -velocityY; // y速度变向
public boolean collide(Ball s) {
if (coodinateY + height &= s.coodinateY
&& coodinateY + height + velocityY &= s.coodinateY
+ s.velocityY) { // 判断当前精灵是否将要穿越s的上边界
if (coodinateX + width + velocityX &= s.coodinateX + s.velocityX
&& coodinateX + velocityX &= s.coodinateX + s.width
+ s.velocityX) { // 判断当前精灵是否将在s的x范围内
velocityY = -velocityY;
s.velocityY = -s.velocityY;
if (coodinateY &= s.coodinateY + s.height
&& coodinateY + velocityY &= s.coodinateY + s.height
+ s.velocityY) { // 判断当前精灵是否将要穿越s的下边界
if (coodinateX + width + velocityX &= s.coodinateX + s.velocityX
&& coodinateX + velocityX &= s.coodinateX + s.width
+ s.velocityX) { // 判断当前精灵是否将在s的x范围内
velocityY = -velocityY;
s.velocityY = -s.velocityY;
if (coodinateX + width &= s.coodinateX
&& coodinateX + width + velocityX & s.coodinateX + s.velocityX) { // 判断当前精灵是否将要穿越s的左边界
if (coodinateY + height + velocityY & s.coodinateY
&& coodinateY + velocityY & s.coodinateY + s.height
+ s.velocityY) { // 判断当前精灵是否将在s的y范围内
velocityX = -velocityX;
s.velocityX = -s.velocityX;
if (coodinateX &= s.coodinateX + s.width
&& coodinateX + velocityX & s.coodinateX + s.width
+ s.velocityX) { // 判断当前精灵是否将要穿越s的右边界
if (coodinateY + height + velocityY & s.coodinateY
&& coodinateY + velocityY & s.coodinateY + s.height
+ s.velocityY) { // 判断当前精灵是否将在s的y范围内
velocityX = -velocityX;
s.velocityX = -s.velocityX;
public class Animation extends JFrame implements ActionListener,KeyListener{
// private int x = 0, y = 0, dx = 0, dy = 0;
private Ball b1, b2;
private int interval = 20;
private int width,
private int cpWidth, cpH
private Image offS
private Graphics offScreenG
private MenuB
private Menu m1, m2;
private MenuItem mi1[] = new MenuItem[3], mi2[] = new MenuItem[3];
private boolean isRun =
private boolean first =
public Animation() {
File picture = new File("img/role.gif");
BufferedImage sourceImg =ImageIO.read(new FileInputStream(picture));
b1=new Ball(10, 50,
sourceImg.getWidth(),sourceImg.getHeight(), 10, 10, Color.red,sourceImg,this);
g.drawImage(sourceImg,10, 10, this);
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// b2=new Ball(400, 50, 50, 50, -10, 0, Color.blue);
width = 800;
height = 400;
mb = new MenuBar();
m1 = new Menu("控制");
m2 = new Menu("interval");
mb.add(m2 = new Menu("interval"));
mb.add(m1);
setMenuBar(mb);
m1.add(mi1[0] = new MenuItem("run"));
m1.add(mi1[1] = new MenuItem("stop"));
m1.add(mi1[2] = new MenuItem("exit"));
m2.add(mi2[0] = new MenuItem("20ms"));
m2.add(mi2[1] = new MenuItem("50ms"));
m2.add(mi2[2] = new MenuItem("100ms"));
mi1[0].addActionListener(this);
mi1[1].addActionListener(this);
mi1[2].addActionListener(this);
mi2[0].addActionListener(this);
mi2[1].addActionListener(this);
mi2[2].addActionListener(this);
addKeyListener(this);
setSize(width, height);
setVisible(true);
public static void main(String[] args) {
// TODO Auto-generated method stub
new Animation();
public void paint(Graphics g) {
// TODO Auto-generated method stub
if (first) {
super.paint(g);
if (isRun) {
cpWidth = getContentPane().getWidth();
cpHeight = getContentPane().getHeight();
g = getContentPane().getGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, cpWidth, cpHeight);
b1.draw(g);
// b2.draw(g);
Thread.sleep(interval);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
b1.update();
b2.update();
b1.collide(b2);
b1.collide(cpWidth,cpHeight);
b2.collide(cpWidth,cpHeight);
repaint();
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getSource() == mi1[0]) {
if (isRun)
repaint();
} else if (e.getSource() == mi1[1]) {
if (!isRun)
repaint();
} else if (e.getSource() == mi1[2]) {
System.exit(0);
} else if (e.getSource() == mi2[0]) {
interval = 20;
repaint();
} else if (e.getSource() == mi2[1]) {
interval = 50;
repaint();
} else if (e.getSource() == mi2[2]) {
interval = 100;
repaint();
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode()==KeyEvent.VK_LEFT){
b1.coodinateX-=30;
repaint();
if(e.getKeyCode()==KeyEvent.VK_RIGHT){
b1.coodinateX+=30;
repaint();
if(e.getKeyCode()==KeyEvent.VK_UP){
b1.coodinateY-=30;
repaint();
if(e.getKeyCode()==KeyEvent.VK_DOWN){
b1.coodinateY+=30;
repaint();
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
没有更多推荐了,求一个java可运行的代码,小游戏的就行,期末交作业,急啊_百度知道
求一个java可运行的代码,小游戏的就行,期末交作业,急啊
我有更好的答案
贪吃蛇项目,直接导入运行就行。能用的话请采纳 谢谢
采纳率:37%
我这里有现成的 两人对战下棋 俄罗斯方块 拼图游戏 坦克大战 等等
联系方式留下行吗
一三零 八八 六六 九四六
急? 我给你写 ·
好啊 万分感激留下联系方式
看我名字啊·
为您推荐:
其他类似问题
小游戏的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 java 小游戏 需求分析 的文章

 

随机推荐