我向ArrayList
添加了一個新對象(類),但是當我嘗試從我的ArrayList
中的對象中獲取變量時,所有類中的變量都是相同的。我添加了一個NEW對象,所以我期望它添加一個新對象,對吧?我所有的對象在我的數組列表中改變
這是我的for循環中的代碼。該印刷品表示對象[i]中的每個變量都具有相同的編號。
ArrayList treeDots;
ArrayList branchList;
boolean clicked;
void setup()
{
size(1024, 768, P3D);
clicked = false;
treeDots = new ArrayList();
branchList = new ArrayList();
treeDots.add(new TreeDot(width/2, height/2));
}
void draw()
{
if (clicked)
AddTreeDot();
if (treeDots.size() > 1)
{
for (int i = 0; i < treeDots.size() -1 ; i++)
{
int temp_loc = 0;
TreeDot index1 = (TreeDot)treeDots.get(i);
TreeDot index2 = (TreeDot)treeDots.get(i + 1);
print(index1.xLoc(temp_loc) + " ");
print(i + " ");
print(index2.xLoc(temp_loc) + " ");
print(i + " ");
strokeWeight(2);
stroke(#09FF00);
line(index1.xLoc(temp_loc),index1.yLoc(temp_loc), index2.xLoc(temp_loc), index2.yLoc(temp_loc));
}
}
}
void AddTreeDot()
{
int randomX = 0;
int randomY = 0;
treeDots.add(new TreeDot(randomDotX(randomX), randomDotY(randomY)));
clicked = false;
}
int randomDotX (int _randomX)
{
TreeDot temp = (TreeDot) treeDots.get(treeDots.size() -1);
int temp_x_loc = 0;
int lastDotX = temp.xLoc(temp_x_loc);
_randomX = lastDotX + int(random(-10, 10));
return _randomX;
}
int randomDotY (int _randomY)
{
TreeDot temp = (TreeDot) treeDots.get(treeDots.size() -1);
int temp_y_loc = 0;
int lastDotY = temp.yLoc(temp_y_loc);
_randomY = lastDotY + int(random(0, 10));
return _randomY;
}
void mouseClicked()
{
clicked = true;
}
,這裏是我的類代碼
int randomSpread;
boolean canIGrow;
boolean endDot;
int x_loc;
int y_loc;
int lineThickness;
class TreeDot
{
TreeDot (int x_loc_par, int y_loc_par)
{
x_loc = x_loc_par;
y_loc = y_loc_par;
//ellipse(x_loc_par, y_loc_par, 10, 10);
endDot = false;
}
int xLoc (int _x_loc)
{
_x_loc = x_loc;
return _x_loc;
}
int yLoc(int _y_loc)
{
_y_loc = y_loc;
return _y_loc;
}
}
奇怪的是什麼?你在期待什麼? – Nabin 2014-11-04 15:34:47
在我for循環中,我檢查數組中對象的變量,如果代碼正常工作,index1.xLoc(temp_loc)應該有一個不同的值,然後index2.xLoc(temp_loc) – 2014-11-04 15:37:23
您的類代碼中的變量聲明應該是在你的類的TreeDot {.....}定義裏面。試一試。另外,for循環正在創建tempLoc = 0;每次迭代。你想要那個嗎? – ha9u63ar 2014-11-04 15:38:23