@durnevdanya

Что за мистика в работе функции JS?

Есть фрагмент моего код (app.js):
enemy2 = scene.addSprite('enemy.png', 710, 710, 100, 100);
	
	if(game.vIsDown)
	{
		scene.destroySprite(enemy2);
	}


Все просто, жмешь кнопку - объект удаляется. Теперь обратимся к подключаемой библиотеке с этим методом.
1 Варинт
destroySprite(sprite)
	{
		var index_ = this.gameObjects.indexOf(sprite);

		if(index_ != -1)
		{
			this.gameObjects.splice(index_, 1); // Действие не выполняется
		}
		else
			warn(index_ == -1); // index_ равен -1, такого быть не должно
	}

2 Вариант
destroySprite(sprite)
	{
		var index_ = this.gameObjects.indexOf(sprite);

		console.log(index_); // index_ равен 2, все как и должно быть
	}


Вся проблема появляется только после проверки с помощью If - else
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Если у вас
index_ равен 2, все как и должно быть

то
if(index_ != -1)
    {
      this.gameObjects.splice(index_, 1); // Действие не выполняется
    }

как раз выполняется
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы