Фазер JS 3 LoadTexture не является функцией
Я хотел бы написать некоторые тетрис, как вывод, состоящий из блоков, которые могут быть в 2 состояниях. И мне нужно изменить спрайт блока, когда он станет активным. Для теста я просто добавил установку одного активного блока при нажатии кнопки слева.
Я пытался вызвать loadTexture, но он выдает loadTexture не ошибка функции
function create() {
field = new Array(height)
for (let i = 0; i < height; i++) {
field[i] = new Array(width);
for (let j = 0; j < width; j++) {
field[i][j] = new Object();
field[i][j].isActive = false;
field[i][j].sprite = this.add.sprite(j * blockSize, i * blockSize, 'block').setOrigin(0, 0);
}
}
cursors = this.input.keyboard.createCursorKeys();
}
function update() {
if (cursors.left.isDown) {
field[1][1].isActive = true;
}
for (let i = 0; i < height; i++) {
for (let j = 0; j < width; j++) {
if (field[i][j].isActive && field[i][j].sprite.texture.key != 'blockActive') {
field[i][j].sprite.loadTexture('blockActive', 0);
}
}
}
}
1 ответ
Вы уже поняли, что это setTexture
и не loadTexture
, Тем не менее, вы действительно должны изучить использование текстурного атласа и просто изменить фрейм (с помощью setFrame
), вместо того, чтобы устанавливать совершенно новую текстуру каждый раз, когда игрок нажимает клавишу.