Показать сообщение отдельно
Старый 12.01.2012, 02:23   #15
LLI.T.A.L.K.E.R.
Мастер
 
Аватар для LLI.T.A.L.K.E.R.
 
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений
(для 504 пользователей)
Ответ: Опять проблемы.

Допустим, всё-таки я уничтожу этот камень функцией FreeImage. Но когда цикл начнётся заново, то на функции DrawImage он остановится, из-за того, что данного изображения больше не существует Так что пожалуйста, помогите и с этой проблемой.
Function UpdateStones()
	For m.Main=Each Main; перебираем тип
		DrawImage m\stone, m\x, m\y
	
		If ImagesCollide (cursor,mx,my,0,m\stone,m\x, m\y, 0) And LClick=2
			m\life=m\life-1
		EndIf
	
		If m\life=0 
			FreeImage m\stone; удаляем каменнь
			Delete m; удаляем элемент типа
		EndIf 
	Next
End Function
Делай проверку на отсутствие/присутствие:
m<>Null

For m.Main=Each Main ; перебираем тип
If m<>Null then ; проверка есть ли этот камень в памяти (точнее, если не равен пустоте)
И почему m.Main? Как это связано с камнем (stone)
Почему не так: s.Stones или Stone.StoneType

Type StoneType
	Field image; рисунок камня
	Field x#, y#; координаты камня
	Field life; жизнь камня
End Type
(Offline)
 
Ответить с цитированием