[英]“JUMP” in a java 2d game
我有这段代码,我想启动一个Java 2d游戏中的跳转,问题是我的对象没有移到任何地方,它一直停留在那...我想让我的对象在按下键和程序显示时跳转我图像上下移动..我正在尝试通过简单的repaint()方法CODE ::::实现此目的
public void actionPerformed(ActionEvent e) {
if(hero.jump()==1){
int jumpheight=40,j=0;
while(j<jumpheight){
hero.y--; \\changing the y position (up)..
try {
Thread.sleep(100);
} catch (InterruptedException e1) {}
repaint();
j++;
}
j=0;
hero.jump1=0;
while(j<jumpheight){
hero.y++; \\changing the y position (down)..
try {
Thread.sleep(100);
} catch (InterruptedException e1) {}
repaint();
j++;
}
}
else {
hero.move();
repaint();
}
您需要将位置更改移到另一个线程中。 密钥处理和重绘现在在与您现在的代码相同的线程中进行处理。 当您调用repaint()时,计划了重画,但是直到事件线程再次“空闲”时才执行重画,但是由于您有一个循环(带有睡眠),所以它永远不会释放,而是您的循环完成后才进行重画(并且您的英雄又回到了原来的位置)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.