簡體   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