下面是我所擁有的:粒子是一個充滿粒子對象的數組。目前我只是將對象的引用添加到數組中,所以在循環結束後,每個對象都具有相同的速度值。但我想爲每一個不同。 需要做什麼,數組中有實際的對象,而不僅僅是對象的引用?陣列中的對象,複製不參考
for (i = 0; count > i; i++){
var particle = this.model; //object i want to have multiple clonse from
particle.velocity = vec3.create(); //vec3.create from glmatrix library
var x = Math.random() * (0.1 - (-0.1)) + (-0.1); //value -0.1-->0.1
var y = Math.random() * 0.1; //value 0-->0.1
var z = Math.random() * (0.1 - (-0.1)) + (-0.1); //value -0.1-->0.1
vec3.set(particle.velocity, x, y, z);
this.particles.push(particle);
}
是'this.model'什麼? – zerkms
你可以顯示vec3代碼嗎? – BenM
您需要複製對象。您可能會尋找「深層克隆」或者只是實施特定的克隆。 –