JAVA循环将对象从小程序底部移动到小程序顶部
我试图让通道在移动到applet顶部时循环,让它们从applet底部返回顶部,以此类推。我尝试使用getBounds,在顶部设置一个不可见的GLine对象,并将其包含在一个循环中:&&(道路线[1].getBounds().intersects(whiteline1.getBounds())==true)),但到目前为止它还不能完全工作。 我包括部分代码。我所取得的成就是让行移动到applet的顶部并移出applet,然后它们就消失了。我试图让它们循环,或者如果它们经过Y-applet,就让它们从底部出来。 我怎样才能解决这个问题JAVA循环将对象从小程序底部移动到小程序顶部,java,eclipse,applet,acm-java-libraries,Java,Eclipse,Applet,Acm Java Libraries,我试图让通道在移动到applet顶部时循环,让它们从applet底部返回顶部,以此类推。我尝试使用getBounds,在顶部设置一个不可见的GLine对象,并将其包含在一个循环中:&&(道路线[1].getBounds().intersects(whiteline1.getBounds())==true)),但到目前为止它还不能完全工作。 我包括部分代码。我所取得的成就是让行移动到applet的顶部并移出applet,然后它们就消失了。我试图让它们循环,或者如果它们经过Y-applet,就让它们
import acm.program.*;
import acm.graphics.*;
import java.awt.Color;
public class Looping extends GraphicsProgram
{
//constant declared
public static final int APPLET_WIDTH = 510;
public static final int APPLET_HEIGHT = 750;
public static final int MOVEMENT_PAUSE = 30;
public static final int ZERO_X = 0;
public static final int ZERO_Y = 0;
//shorten constant
final int AW = APPLET_WIDTH;
final int AH = APPLET_HEIGHT;
final int MP = MOVEMENT_PAUSE;
//Declaring Variables
public int linesMove;
GRect[] roadLines;
GLine BLACKline1;
GLine whiteline1;
public void init()
{
whiteline1 = new GLine(ZERO_X,ZERO_Y, APPLET_WIDTH, ZERO_Y);
whiteline1.setColor(Color.white);
add(whiteline1);
linesMove = 5;
}
public void run()
{
waitForClick();
moveLines();
while ((roadLines[20].getBounds().intersects(whiteline1.getBounds()) == true))
{
moveLines();
pause(MP);
}
}
public void displayLines()
{
//First Row
roadLines = new GRect[20];
roadLines[0] = new GRect(10,133);
roadLines[0].setFillColor(Color.BLACK);
roadLines[0].setFilled(true);
add(roadLines[0], 100, 0);
roadLines[1] = new GRect(10,133);
roadLines[1].setFillColor(Color.BLACK);
roadLines[1].setFilled(true);
add(roadLines[1], 100, 246);
roadLines[2] = new GRect(10,133);
roadLines[2].setFillColor(Color.BLACK);
roadLines[2].setFilled(true);
add(roadLines[2], 100, 492);
roadLines[3] = new GRect(10,133);
roadLines[3].setFillColor(Color.BLACK);
roadLines[3].setFilled(true);
add(roadLines[3], 100, 738);
roadLines[4] = new GRect(10,133);
roadLines[4].setFillColor(Color.BLACK);
roadLines[4].setFilled(true);
add(roadLines[4], 100, 984);
//Second Row
roadLines[5] = new GRect(10,133);
roadLines[5].setFillColor(Color.BLACK);
roadLines[5].setFilled(true);
add(roadLines[5], 200, 0);
roadLines[6] = new GRect(10,133);
roadLines[6].setFillColor(Color.BLACK);
roadLines[6].setFilled(true);
add(roadLines[6], 200, 246);
roadLines[7] = new GRect(10,133);
roadLines[7].setFillColor(Color.BLACK);
roadLines[7].setFilled(true);
add(roadLines[7], 200, 492);
roadLines[8] = new GRect(10,133);
roadLines[8].setFillColor(Color.BLACK);
roadLines[8].setFilled(true);
add(roadLines[8], 200, 738);
roadLines[9] = new GRect(10,133);
roadLines[9].setFillColor(Color.BLACK);
roadLines[9].setFilled(true);
add(roadLines[9], 200, 984);
//Third Row
roadLines[10] = new GRect(10,133);
roadLines[10].setFillColor(Color.BLACK);
roadLines[10].setFilled(true);
add(roadLines[10], 300, 0);
roadLines[11] = new GRect(10,133);
roadLines[11].setFillColor(Color.BLACK);
roadLines[11].setFilled(true);
add(roadLines[11], 300, 246);
roadLines[12] = new GRect(10,133);
roadLines[12].setFillColor(Color.BLACK);
roadLines[12].setFilled(true);
add(roadLines[12], 300, 492);
roadLines[13] = new GRect(10,133);
roadLines[13].setFillColor(Color.BLACK);
roadLines[13].setFilled(true);
add(roadLines[13], 300, 738);
roadLines[14] = new GRect(10,133);
roadLines[14].setFillColor(Color.BLACK);
roadLines[14].setFilled(true);
add(roadLines[14], 300, 984);
//Fourth Row
roadLines[15] = new GRect(10,133);
roadLines[15].setFillColor(Color.BLACK);
roadLines[15].setFilled(true);
add(roadLines[15], 400, 0);
roadLines[16] = new GRect(10,133);
roadLines[16].setFillColor(Color.BLACK);
roadLines[16].setFilled(true);
add(roadLines[16], 400, 246);
roadLines[17] = new GRect(10,133);
roadLines[17].setFillColor(Color.BLACK);
roadLines[17].setFilled(true);
add(roadLines[17], 400, 492);
roadLines[18] = new GRect(10,133);
roadLines[18].setFillColor(Color.BLACK);
roadLines[18].setFilled(true);
add(roadLines[18], 400, 738);
roadLines[19] = new GRect(10,133);
roadLines[19].setFillColor(Color.BLACK);
roadLines[19].setFilled(true);
add(roadLines[19], 400, 984);
}
public void moveLines()
{
displayLines();
//first row
roadLines[0].move(0, -linesMove);
roadLines[1].move(0, -linesMove);
roadLines[2].move(0, -linesMove);
roadLines[3].move(0, -linesMove);
roadLines[4].move(0, -linesMove);
roadLines[5].move(0, -linesMove);
//third row
roadLines[6].move(0, -linesMove);
roadLines[7].move(0, -linesMove);
roadLines[8].move(0, -linesMove);
//fourth row
roadLines[9].move(0, -linesMove);
roadLines[10].move(0, -linesMove);
roadLines[11].move(0, -linesMove);
roadLines[12].move(0, -linesMove);
roadLines[13].move(0, -linesMove);
roadLines[14].move(0, -linesMove);
roadLines[15].move(0, -linesMove);
roadLines[16].move(0, -linesMove);
roadLines[17].move(0, -linesMove);
roadLines[18].move(0, -linesMove);
roadLines[19].move(0, -linesMove);
}
}
为什么要编写小程序?如果这是因为老师指定的,请让他们参考。@Andrew Thompson我知道这很愚蠢,但那门课就是这样。这是我们的第一个Java类。现在这只是一个做它的问题“现在这只是一个做它的问题”是的,一定要把老师引向那个链接。@Andrew Thompson我知道你的意思。我不是来为我做一切的。这是我们的教练没有检查过的。我只需要把建议推向正确的方向。谢谢你!为什么要编写小程序?如果这是因为老师指定的,请让他们参考。@Andrew Thompson我知道这很愚蠢,但那门课就是这样。这是我们的第一个Java类。现在这只是一个做它的问题“现在这只是一个做它的问题”是的,一定要把老师引向那个链接。@Andrew Thompson我知道你的意思。我不是来为我做一切的。这是我们的教练没有检查过的。我只需要把建议推向正确的方向。谢谢你!