2017-10-03 14 views
0

配列内のベクトルの入れ子に問題があるようです。私はcreateVector()を使用しましたが、それは動作しませんでした。彼らは非P5のJavaScriptに適用されても、私は、他の記事を見て、私は現在で午前場所です:なぜあなたはcities.lengthを変更できます配列内のベクトルを作成する

function makePoints() { 
    var cities = []; 

    if (difficulty === 'hard') { 
     cities.length = 40; 

     for (i = 0; i < cities.length + 1; i++) { 
      cities.push(new createVector(random(20, width - 20), random(20, height - 20))); 
     } 
    } 
} 

答えて

0

。次に、それを上に押しているが、停止する長さとして押している配列を使用している。最初のプッシュで長さ41、2番目のプッシュで長さ42となります。iは決してcities.length + 1(これはちょうどcities.length)に達しないため、無限ループに陥っています。

あなたは、代わりにこれを行うプッシュするので、長さがあなたのアレイ40を作りたい場合は、次の

for (i = 0; i < cities.length; i++) { 
    cities[i] = createVector(random(20, width - 20), random(20, height - 20)); 
} 
0

?だけではなく、WY:あなたが最初の40 undefinedを持つ配列を移入cities.length = 40を言っているの

var difficulty = 'hard'; 
 
function setup() { 
 
    createCanvas(720, 400); 
 
    makePoints(); 
 
} 
 

 

 
function makePoints() { 
 
    var cities = [], 
 
     citiesSize = 40; 
 

 
    if (difficulty === 'hard') { 
 
    for (i = 0; i < citiesSize; i++) { 
 
     cities.push(createVector(random(20, width - 20), random(20, height - 20))); 
 
    } 
 
    } 
 
    console.log(cities); 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.14/p5.min.js"></script>

関連する問題