我做了一个俄罗斯方块的游戏,但是界面不太漂亮,我希望给窗口增加一个背景图片,但是如果在paint()方法中绘制图片的话,玩游戏的时候因为还要不断的调用paint()方法,那么图片就会消失,请问该怎么办才能加上背景图片同时保证图片一直显示???求高手解答,谢谢!!java游戏显示图片
解决方案 »
- 如何画事件区域
- 急!!!!
- 如何实现打印预览?
- 用jdbc连接oracle的奇怪现象,请好心人,高手进来解释一下。
- 怎么样运行以下程序 ,我在eclipse直接运行是可以的。怎么在dos下运行
- 还是概念不清楚,望牛人路过此处一解!
- 菜鸟跪求!JAVA线程方面问题
- 关于getProperty和setProperty的问题!急!
- 求助一个COOKIE的问题
- 如何使位于firewall or proxy的机子通过Internet接收到另一机子用JMStudio发送的语音数据?
- 一小段代码,有关于链表的,求大神指点找错,优化一下
- 用C/S结构做一个项目,为了减少对数据库的访问次数,需要启动项目时把数据存起来放到内存里,供以后使用,请问放到内存里的方式有哪些? 3q~
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;import javax.imageio.ImageIO;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class ReflashBack extends JFrame{
public static void main(String[] args){
new ReflashBack();
}
public ReflashBack(){
ImageComponent com=new ImageComponent();
add(com);
setVisible(true);
setSize(1366,768);
Timer timer = new Timer();
//在0.1秒后执行此任务,每次间隔0.2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
timer.schedule(com.mytask(), 100, 200);
}}
class ImageComponent extends JComponent{
int y=0;
public ImageComponent(){
try{
img=ImageIO.read(new File("razer.jpg"));
}
catch(IOException e){
e.printStackTrace();
}
}
public TimerTask mytask() {
// TODO Auto-generated method stub
return new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
y+=20;
repaint();
}
};
}
public void paintComponent(Graphics g){
Graphics2D g2=(Graphics2D) g;
if(img==null) return;
int imageWidth=img.getWidth(this);
int imageHeight=img.getHeight(this);
g.drawImage(img,0,0,null);
Rectangle2D.Double d=new Rectangle2D.Double(200,200+y,200,200);
g2.draw(d);
g2.setColor(Color.RED);
g2.fill(d);
}
private java.awt.Image img;
}