Всё говоришь... а свой код написать не пробывал. Намного лучше и меньше гемороя.
Я так обычно и делаю.
А вообще я посмотрел код и получается там не может наити анимацию объекта. Такое чувство что она просто не загружена. Но мне кажется проблема в самой загрузке объекта, ибо не может наитись анимация для объекта.. Попробуй сделать свою загрузку уровня наподобе:
Function RecurseSeek(free)
For i=0 To xCountChildren(free)-1
child=xGetChild(free,i)
name$=Lower(xEntityName(child))
;Collisons
If Instr(name$,"s2")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Collisions",True,True
xFlip
x#=xEntityX(child)
y#=xEntityY(child)
z#=xEntityZ(child)
xCreateTrimesh(child,0)
xEntityType child,Nwall
xEntityPickMode child,2
EndIf
If Instr(name$,"stup")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Collisions",True,True
xFlip
x#=xEntityX(child)
y#=xEntityY(child)
z#=xEntityZ(child)
xCreateTrimesh(child,0)
xEntityType child,Nwall
EndIf
;Doors
If Instr(name$,"doorl")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Doors",True,True
xFlip
xNameEntity child,"left"
InitDoor(child)
x#=xEntityX(child)
y#=xEntityY(child)
z#=xEntityZ(child)
xCreateHullmeshDoor(child,0)
EndIf
;Player
If Instr(name$,"player")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Player",True,True
xFlip
px#=xEntityX(child)
py#=xEntityY(child)
pz#=xEntityZ(child)
rpy#=xEntityYaw(child)
xHideEntity child
EndIf
If Instr(name$,"doorr")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Doors",True,True
xFlip
xNameEntity child,"right"
InitDoor(child)
x#=xEntityX(child)
y#=xEntityY(child)
z#=xEntityZ(child)
xCreateHullmeshDoor(child,0)
EndIf
;Meshes
If Instr(name$,"bo4ka")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Meshes",True,True
xFlip
InitBo4ka(child)
x#=xEntityX(child)
y#=xEntityY(child)
z#=xEntityZ(child)
rx#=xEntityPitch(child)
ry#=xEntityYaw(child)
rz#=xEntityRoll(child)
xCreateHullmeshB(child,0)
EndIf
If Instr(name$,"lesn")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Meshes",True,True
xFlip
InitLesn(child)
x#=xEntityX(child)
y#=xEntityY(child)
z#=xEntityZ(child)
rx#=xEntityPitch(child)
ry#=xEntityYaw(child)
rz#=xEntityRoll(child)
xEntityType child,Nwall
xCreateHullmeshL(child,0)
EndIf
;Water
If Instr(name$,"water")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Water!!!",True,True
xFlip
Delay 30
xEntityType child,Nwall
xp#=xEntityX(child)
yp#=xEntityY(child)
zp#=xEntityZ(child)
xEntityAlpha child,0.7
xEntityPickMode child,2
xAnimate child,1,0.4
EndIf
;Sky
If Instr(name$,"sky")
xCls
xFlip
xCls
xColor 200,200,200
xText 640,500,"Sky",True,True
xFlip
xFlipMesh child
EndIf
Next
End Function
Убери просто лишнее из моей функции и поставь в свой двиг.
ПС недавно понял главную вещь как загружать объекты из мапы и их потом использовать(т.е двигать вращать и пр.):делаешь масив на то кол-во объектов которое будет в сцене(ну там 20 ящиков значит dim obj_yashik(20)...) потом при загрузке предмета назначаешь ему массив:
if instr(name$,"yashik") then
n=n+1
obj_yashik(n)=child ;Смотри что такое чилд в начале моей функции.
endif
И все. У меня все пашет. Удачи в реализации и создании новых проэктов.