【发布时间】:2016-11-10 23:04:16
【问题描述】:
首先很抱歉未能准确说出我的问题!
我面临的问题是我有一个包含 4 个类的数组列表,它们执行完全相同的操作,只是需要在不同时间调用它们(当第一个坐标超过某个值时)但我无法获取它完成了,但无法在网上找到它(可能是因为我无法准确说出我的问题:/)无论如何我会在下面发布我的代码,如果有人能提供一些启发,我将非常感激!
**我所做的是通过将屏幕中心与每个角用线条连接起来的隧道效果,现在我试图通过从屏幕中间向边缘开始的线条来模拟移动(从底部开始) **
speedLines sline1, sline2, sline3, sline4;
// holds speedLines classes
ArrayList<speedLines> gameObject;
void setup() {
background(0);
size(750, 750);
smooth();
gameObject = new ArrayList<speedLines>();
sline1 = new speedLines(height/2);
sline2 = new speedLines(height/8);
sline3 = new speedLines(height/4);
sline4 = new speedLines((height/2)*3);
gameObject.add(sline1);
gameObject.add(sline2);
gameObject.add(sline3);
gameObject.add(sline4);
}
void draw() {
background(0);
for(int i=0; i< gameObject.size(); i++){
// go through the different classes
// 2 added so far
gameObject.get(i).display();
}
Guidelines();
}
//GLOBAL VARIABLES
int line=0;
int linewidth=0;
void Guidelines() {
stroke(255);
//MAIN GUIDE
line(0, 0, width/2, height/2);//top left guide
line(width, 0, width/2, height/2);//top right guide
line(0, height, width/2, height/2);//bottom left guide
line(width, height, width/2, height/2);//bottom right guide
//SUB GUIDE
stroke(60, 60, 60);
line(width/3, height, width/2, height/2);//sub guide left
line((width/3)*2, height, width/2, height/2);//sub guide right
}
class speedLines {
//Global variables
int Y;
speedLines(int y) {
}
void display() {
stroke(60, 60, 60);
line((width/2)-linewidth, (height/2)+line, (width/2)+linewidth, (height/2)+line);
line++;
linewidth++;
if ((height/2)+line >= height)
{
line=0;
linewidth=0;
}
}
}
【问题讨论】:
标签: java processing