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