Итак, у меня есть строковый массив со спрайтами, которые я хочу отобразить:
var lts = [
"letterA",
"letterB",
"letterC",
"letterD",
"letterE",
"letterF"
];
в моем assets.js
Я загружаю их:
function loadAssets(callback){
function loadSprite(fileName){
assetsStillLoading++;
let spriteImage = new Image();
spriteImage.src = "assets/sprites/" + fileName;
spriteImage.onload = function()
{
assetsStillLoading--;
}
return spriteImage;
}
sprites.background = loadSprite('spr_background_pink.png');
sprites.letterA = loadSprite('/Letters/letter_A.png');
sprites.letterB = loadSprite('/Letters/letter_B.png');
sprites.letterC = loadSprite('/Letters/letter_C.png');
sprites.letterD = loadSprite('/Letters/letter_D.png');
sprites.letterE = loadSprite('/Letters/letter_E.png');
sprites.letterF = loadSprite('/Letters/letter_F.png');
}
Теперь я хочу иметь возможностьциклически перебирать опции этой буквы, чтобы выбрать правильную, например так:
letterNo = letterNo + 1;
var string = "sprites." + lts[letterNo];
console.log("sprite loading:" + string);
this.sprite = string;
Но когда я пытаюсь, я получаю:
sprites.letterB
в отладчике, который является спрайтом, который я хочузагрузить, но это не нравится:
TypeError: Аргумент 1 из CanvasRenderingContext2D.drawImage не может быть преобразован ни в одно из: HTMLImageElement, SVGImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap.
Как мне заставить это работать, пожалуйста?