Допустим, всё-таки я уничтожу этот камень функцией 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