把线程添加到listener中。然后再主函数的类中调用l.start();
bug修复,碰撞的时候会粘在一起,就把他们检测碰撞后恢复到上一个位置。
删除功能:ball类中设置一个flag来判断。在listener中run中只把flag为true的画出来
然后删除的监听那里从balllist从移除。
消除上一步的“尾气”:
1.通过在run中while(true){
添加一个缓冲区的图片对象bufferedimage buff = new bufferedimage(..get,..get,bufferedimage.type...);
}
2.然后获得他的graphics
3.然后把背景绘制好,然后把球画上去。调用球的所有方法(移动,绘制)(不需要再次清除)
4.最后把图片绘制到面板上
5.休眠
public void run(){
Timer timer = new Timer();
BallTimerTask task = new BallTimerTask(cp,list);
timer.schedule(task, 5000, 5000);
// /*SoundTimerTask task1 = new SoundTimerTask();
// */timer.schedule(task1, 5000, 2000);
while(true){
//创建一个缓冲区图片对象
BufferedImage buff = new BufferedImage(cp.getWidth(),cp.getHeight(),BufferedImage.TYPE_4BYTE_ABGR);
Graphics g = buff.getGraphics();
//绘制背景
g.setColor(cp.getBackground());
g.fillRect(0, 0, cp.getWidth(), cp.getHeight());
//将所有小球绘制到缓冲区图片对象上
for(int i=0;i<list.size();i++){
Ball ball = list.get(i);
if(ball.isFlag()){
ball.clearBall(g, cp.getBackground());
ball.move();
ball.drawBall(g);
}
}
//将缓冲区图片对象绘制到面板上
this.g.drawImage(buff, 0, 0, cp);
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏...
Java弹球小游戏.zipJava弹球小游戏.zipJava弹球小游戏.zipJava弹球小游戏.zip Java弹球小游戏.zipJava弹球小游戏.zipJava弹球小游戏.zipJava弹球小游戏.zip Java弹球小游戏.zipJava弹球小游戏.zipJava弹球小游戏.zip...
JAVA弹球游戏设计源代码
源码 博文链接:https://rex0654335.iteye.com/blog/1171247
java弹球游戏
弹球项目源码,对Swing学习是很好的资源
java弹球小程序桌面弹球是游戏中常见的游戏,从以前的掌上游戏机到如今的手机游戏,都是一个十分经典的游戏。 玩家控制一个可以左右移动的挡板去改变运动中小球的移动方向,目的是用小球消除游戏屏幕中的所有 障碍物...
JAVA 弹球游戏 代码.doc
ava弹球程序弹球程ava弹ava弹球程序弹球程序程序ava弹球程序弹球程序球程序
Java弹球小游戏由java.awt.*和java.swing.*工具集实现,点击即可运行
java 弹球游戏 多线程 注意这是eclipe 下用了swingdesigner
180行JAVA弹球程序DOC 【精编】
自己写的一个java弹球游戏,大家看看呀.。由于音乐太大不能上传,大家进程序以后把音乐的语句删掉就可以了。。。。
java
Java程序设计实验报告2(弹球游戏)[1]1.pdf
java桌面弹球,java桌面弹球,java桌面弹球,java桌面弹球,java桌面弹球,java桌面弹球,java桌面弹球,
也可以叫躲避球 即 鼠标避开移动的球的游戏
java做的弹球游戏,用到线程,等SE内容,对GUI的使用相当受用