Тема: Mini map
Показать сообщение отдельно
Старый 11.11.2009, 15:32   #42
Артем Валерьевич
Бывалый
 
Аватар для Артем Валерьевич
 
Регистрация: 25.12.2007
Адрес: г. Краснодар
Сообщений: 894
Написано 421 полезных сообщений
(для 1,079 пользователей)
Ответ: Mini map

Запутался я, вобщем код такой, вместе с персонажем гружу карту, цепляю к камере, позиционирую, накладываю текстуру карты:

 
minimap=LoadAnimMesh("TesData\tesBitmap\Tes_mapa01\minimap2.b3d",a.MatchMan\cam)
PositionEntity minimap,EntityX(a.MatchMan\cam)-.35,EntityZ(a.MatchMan\cam)+1.75,EntityY(a.MatchMan\cam)+.01
;PositionEntity minimap,GW%+2,GH%+3,+1
ScaleEntity minimap,.02,.02,.02
EntityOrder minimap,0
mapM=FindChild ( minimap,"Object01")
 
 
minimaptex=LoadTexture("TesData\tesBitmap\Tes_mapa01\minimap.png")
EntityTexture mapM, minimaptex,0,0
mapspeed#=0
затем в цикле при обновлении персонажа я пишу:

 
If UP Then:walksnd=True 
 
If Pers_speed#<=0
Pers_speed#=0.75
Animate Tesey,2,Pers_speed#,1,0
EndIf
mapspeed#=mapspeed#+.0001*dt
MoveEntity a.MatchMan\PiwotPers,0,0,.01*dt
;PositionTexture minimaptex,0,+Pers_speed#
;PositionEntity a.MatchMan\Piwotcam,Sin( MilliSecs() )*.005 +.005,Sin( MilliSecs() )*.2 +.2,0
 
;EndIf
 
Else If DN Then:walksnd=True
 
If Pers_speed#<=0
Pers_speed#=0.75
Animate Tesey,2,Pers_speed#,1,0
EndIf
mapspeed#=mapspeed#-.0001*dt
 
u_position#=1
v_position#=1
затем ниже:

 
x#=EntityX (a.MatchMan\PiwotPers)
y#=EntityY (a.MatchMan\PiwotPers)
z#=EntityZ (a.MatchMan\PiwotPers)
CameraProject(a.MatchMan\cam,x#,y#,z#) 
и в конце функции :

 
Next
PositionTexture minimaptex,ProjectedX()/2,ProjectedY()/2 
EndIf
End Function

короче походу совсем запутался, а ведь нужно еще чтобы миникарта поворачивалась и двигалась по диагонали и под любым углом.
(Offline)
 
Ответить с цитированием