Всем доброго времени суток. Буду благодарен за помощь.
Пишу игру на PIXI.js. Суть такова, что все работает как задумано. Но в какой-то момент в консоли всплывает warning WebGL: INVALID_ENUM: activeTexture: texture unit out of range и текстуры в игре немного начинают мигать. Начинается данная вакханалия в непонятный момент и в этот же момент может пропасть и так по кругу.
Есть класс для создания монстра и его метод который двигает монстра:
function Monster (monsterImages, startX) {
this.hideEnemy = false;
var frames = [];
for (var i = 0; i < monsterImages.length; i++) {
var texture = Texture.fromImage(monsterImages[i]);
frames.push(texture);
}
this.movieclip = new PIXI.extras.AnimatedSprite(frames);
this.movieclip.scale.x = -1;
this.movieclip.anchor.set(0.5);
this.movieclip.width = 170;
this.movieclip.height = 140;
this.movieclip.x = startX;
this.movieclip.y = getRandomIntValue(Position.START_Y + this.movieclip.height / 2, Position.END_Y + this.movieclip.height / 2);
this.movieclip.animationSpeed = 0.4;
this.movieclip.play();
gameScene.addChild(this.movieclip);
}
Monster.prototype.updatePosition = function () {
if (this.movieclip.x > Position.END_X - this.movieclip.width / 2) {
this.movieclip.x -= Position.STEP_X;
} else {
// this.hideEnemy = true;
this.movieclip.x = Position.START_X;
this.movieclip.y = getRandomIntValue(Position.START_Y + this.movieclip.height / 2, Position.END_Y + this.movieclip.height / 2);
}
};
Я создаю 4 монстров
for (var i = 0; i < 4; i++) {
enemy[i] = new Monster(monsterSprites[i], 1920 + 170 + gapBetweenBirds);
gapBetweenBirds+=500;
}
Потом двигаю методом, и если он выходит за сцену, то вырезаю из массива этого монстра и вставляю туда же нового.
for (var i = 0; i < enemy.length; i++) {
enemy[i].updatePosition();
if (enemy[i].hideEnemy) {
enemy.splice(i, 1, new Monster(monsterSprites[getRandomIntValue(0,monsterSprites.length - 1)], 1920 + 170));
}
}
Проблема появилась когда я начал заменять монстра в массиве. Думаю проблема кроется где-то там, но в связи с небольшим опытом не могу ее отловить.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Можно ли как нибудь переписать эту функцию с помощью цикла?
На странице в самом низу используется слайдер Owl Carousel 2Для смены слайдов используются эффекты fadeIn/fadeOut
Как сделать, чтобы при клике на заголовок меню развернулось подменю, и так же закрывалось при клике?