Показать сообщение отдельно
Старый 04.03.2012, 16:29   #6
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Упорядоченное исчезновение объектов

Exit прекращает работу цикла, переводя выполнение на строку после слова Next. Не только в данном случае но и везде. Если циклы вложенные, то выйдет только из того в котором стоит Ехит.
Убрать ехит круто, но лучше этого не делать, в том смысле что та проверка на коллизию после скрытия объекта не должна работать вовсе, т.е. объект нужно исключить из проверки.

Почему бы тебе не перебирать блоки используя конструкцию for ... each как сделано для пуль? Тогда не будет вылетать после удаления и гарантированно в проверку удалённый не попадёт.

Если нужен именно массив, то можешь писать так:

For i=0 To 7
     If(AllBlocks(i) <> null)
	Local hide% = EntityCollided(AllBlocks(i)\ent, TYPE_BULLET)
	If hide<>0
		FreeEntity AllBlocks(i)\ent
		Delete AllBlocks(i)
		AllBlocks(i) = Null
		Exit
	EndIf
     EndIf
Next
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Devilox (04.03.2012)