问题描述
我正在用 Java 制作节奏游戏。此代码是注释动画。如果运行此代码,则会绘制图像,并且此图像每 3 秒以 y-=9 重新绘制。但是当我运行此代码时它不会绘制图像。除了油漆,一切都已执行,所以我认为问题在于油漆。我该如何解决这个问题?或者你能告诉我另一种方式吗?
public class MpSt extends JFrame implements ActionListener{
Music music = new Music("msc1.mp3",true);
JFrame frm = new JFrame();
private ImageIcon l_arr = new ImageIcon("../img/l_arrow.png");
private ImageIcon u_arr = new ImageIcon("../img/u_arrow.png");
private ImageIcon d_arr = new ImageIcon("../img/d_arrow.png");
private ImageIcon r_arr = new ImageIcon("../img/r_arrow.png");
int speed =30;
Note_l nt1 = new Note_l(380,700);
public MpSt(){
frm.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
frm.setTitle("Mint Parfait");
Rectangle r = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
frm.setSize(r.width,r.height+100);
frm.setUndecorated(true);
frm.setVisible(true);
frm.setContentPane(new JLabel(new ImageIcon("../img/mint_note.png")));
music.start();
frm.addKeyListener(new KeyAdapter() {
@Override
public void keypressed(KeyEvent event) {
int keyCode = (int)event.getKeyChar();
if(keyCode==27){
Setbtn stb = new Setbtn();
}
}
});
class ln1 extends JPanel{
public ln1(){
setBackground(new Color(0,0));
}
public void paintComponent(Graphics g){
super.paintComponent(g);
nt1.paint(g);
}
}
frm.add(new ln1());
Timer timer = new Timer(speed,this);
timer.start();
}
@Override
public void actionPerformed(ActionEvent e) {
nt1.updata();
repaint();
}
}
public class Note_l extends JFrame {
int x,y;
private Image l_arr = new ImageIcon("../img/l_arrow.png").getimage();
private Image u_arr = new ImageIcon("../img/u_arrow.png").getimage();
private Image d_arr = new ImageIcon("../img/d_arrow.png").getimage();
private Image r_arr = new ImageIcon("../img/r_arrow.png").getimage();
public Note_l(int x,int y){
this.x=x;
this.y=y;
}
public void paint(Graphics g){
g.drawImage(l_arr,x,y,this);
}
public void updata(){
if(y<=0) {}
else{
y-=9;}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)