Я пытаюсь случайным образом выбрать оператор со значениями внутри них, который извлекается из определенной точки на листе спрайта. Это текущий код, который у меня есть.Javascript html5 оператор случайного переключения холста
this.asteroid = Math.floor(Math.random()*4);
switch(this.asteroid)
{
case 1:
this.srcX = 0;
this.srcY = 528;
this.width = 32;
this.height = 33;
break;
case 2:
this.srcX = 32;
this.srcY = 528;
this.width = 32;
this.height = 33;
break;
case 3:
this.srcX = 64;
this.srcY = 528;
this.width = 32;
this.height = 33;
break;
case 4:
this.srcX = 0;
this.srcY = 565;
this.width = 62;
this.height = 60;
break;
}
Затем я потом рисую значения, которые он выбирает.
Проблема: у меня есть только рисование фиолетовых/серых астероидов, которые в настоящее время имеют размер 2 и 3. Я установил шрифт на главном экране, рассказывающий мне, какой случай он рисует первым, и обновился, пока он не покажет 1 или 4 она по-прежнему привлекает 2 и 3.
Одна проблема в том, что Math.floor (Math.random() * 4) будет генерировать число от 0-3. Если вы хотите, чтобы он генерировал числа из 1-4, добавьте +1 после * 4) – Keeleon
'Math.floor (Math.random() * 4);' может вернуть 0,1,2,3, но не 4. Я могу Посмотрите, почему вы не видите случая, когда он возвращает 1. – tafa