Показать сообщение отдельно
Старый 04.08.2011, 12:08   #4
Mind
ПроЭктировщик
 
Аватар для Mind
 
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений
(для 18 пользователей)
Ответ: Проблема !?

Всё говоришь... а свой код написать не пробывал. Намного лучше и меньше гемороя.
Я так обычно и делаю.
А вообще я посмотрел код и получается там не может наити анимацию объекта. Такое чувство что она просто не загружена. Но мне кажется проблема в самой загрузке объекта, ибо не может наитись анимация для объекта.. Попробуй сделать свою загрузку уровня наподобе:

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
И все. У меня все пашет. Удачи в реализации и создании новых проэктов.
(Offline)
 
Ответить с цитированием