繁体   English   中英

Java 2D游戏中的“ JUMP”

[英]“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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM