Охх... Крорче:
Type TTreePro
Global LIST:TList=CreateList()
Field IMAGE:TImage
Field SPEED:Int
Field COUNT_F:Int
Field ID:Int
Function GetRandom:TTreePro()
R=Rand(1,CountList(LIST))
For T:TTreePro=EachIn LIST
C:+1
If(C=R) Return T
Next
End Function
End Type
Весьма
бреадовшный код прототипов деревьев. Парсер читает файл, вычиывает из него параметры дерева, а потом идет сама картинка в формате PNG, просто дописанная по байтам в конец файла. Вот на ее начало я смещаю указатель в файле, и передаю в функцию LoadAnimImage в кач-ве пути (path:Object)
Картинка грузится верно.
Вот код деревьев:
Type TTree Extends TObject
Field PRO:TTreePro 'Вот наш линк на прототип
Field Timer:Int
Field CurrentFrame:Int=0
Function Create(X#,Y#,Pro:TTreePro)
If(PRO=Null) Return
T:TTree=New TTree
T.X=X
T.Y=Y
T.NEED_INDEXED=0 'нам не нужна индексация в секторах!
T.RENDER_SIZE=Max(PRO.IMAGE.Width,PRO.IMAGE.Height)
T.PRO=PRO
ListAddLast FULL_LIST,T
End Function
Method Math()
timer:+1
If(Timer>PRO.Speed)
Timer=0
CurrentFrame:+1
If(CurrentFrame=PRO.COUNT_F) CurrentFrame=0
EndIf
End Method
Method Draw()
DrawImage PRO.IMAGE,X,Y,CurrentFrame
End Method
Method Destroy()
End Method
End Type