Показать сообщение отдельно
Старый 02.08.2014, 20:43
nubideus вне форума Посмотреть профиль Отправить личное сообщение для nubideus Найти все сообщения от nubideus
  № 3  
Ответить с цитированием
nubideus

Регистрация: Jan 2013
Сообщений: 322
Код AS3:
if(game == "тест")
{
	for(var i:uint = 0; i < excess.length; i++)
	{
		switch(excess[i]){
			case "предмет1": /*удаляешь*/; i--; break;
			case "предмет2": /*удаляешь*/; i--; break;
		}
	}
}
т.е. ошибка в том, что ты при перечислении пропускаешь некоторые элементы, после удаления. если удаляется только последний элемент, то пропусков не будет.
просто делаешь i-- до новой итерации.

плюс константы "предмет1" и "предмет2" записываешь в массив:
Код AS3:
var items:Vector.<String> = new <String>["предмет1", "предмет2"];
 
if(game == "тест")
{
	for(var i:uint = 0; i < excess.length; i++)
	{
		if(items.indexOf(excess[i]) !== -1)
		{
			excess.splice(i, 1);
			i--;
		}
	}
}
и получается красота

как я понял items - то, что герой уже поднял, а excess - то, что нужно поднять


Последний раз редактировалось nubideus; 02.08.2014 в 21:03.