Я разрабатываю видеоигру с использованием JavaScript и html Canvas, и я пытаюсь сделать так, чтобы в зависимости от того, какое значение:
PlayerIcon = 0;
есть, компьютер будет нарисовать этот конкретный номер из массива:
PlayerI = [];
PlayerI[0] = new Sprite("");
PlayerI[1] = new Sprite("");
PlayerI[2] = new Sprite("");
Я не совсем понимаю, как работают неопределенные ценности (например, это [i]). Но с ними должно быть возможно? Я уже знаю, как это сделать в JavaScript, но я хотел бы сделать это только в нескольких строках кодирования (независимо от того, сколько переменных я добавляю в массив):
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var timer = setInterval(gameLoop,10);
var PlayerIcon = 0;
var PlayerI = [];
function gameLoop()
{
if(PlayerIcon == 0)
{
PlayerI[0].draw(ctx);
}
if(PlayerIcon == 1)
{
PlayerI[1].draw(ctx);
}
if(PlayerIcon == 2)
{
PlayerI[2].draw(ctx);
}
}
то я буду присваивать изображение каждой переменной PlayerI и переключать, какой из них отображается с переменной PlayerIcon.
PlayerI[PlayerIcon].draw(ctx);
должен сделать трюк