簡體   English   中英

如何在java中連續左右移動球?

[英]How can I make a ball move left and right continuously in java?

假設下面的方法與一個在窗口中創建圓形的主方法連接起來,我希望這個圓圈向左移動大約100個像素,然后向右移動100個像素,依此類推。

我無法弄清楚代碼來做到這一點。

  private void moveBall() 
{
    boolean moveRight = true;

    if(moveRight == true)
    {
        x = x + 1;
    }
    else
    {
        x = x - 1;
    }

    if(x == 300)
    {
        moveRight = false;
    }




}

球不斷向右移動的原因是因為當它擊中if語句以將moveRight設置為false時,它會在方法開始時將其重置為true。 如果你想讓它像你認為的那樣工作,你需要將moveRight拉成一個類變量。

怎么樣這樣試試呢?

//set the moveRight variable as a class variable
private boolean moveRight = true;

private void moveBall() {
    //move right or left accordingly
    x = moveRight ? x + 1 : x - 1;

    //if x == 300 we want to move left, else if x == 100 im assuming you want to move right again
    if (x == 300) {
        moveRight = false;
    } else if(x == 100){
        moveRight = true;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM