http://alpha-thema-online.uv.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
Pagina de start a forumului http://alpha-thema-online.uv.ro Autentificare Inregistrare FAQ Membri Cautare

Pagina de start a forumului http://alpha-thema-online.uv.ro » Tutoriale RO » Introducerea unui Personaj
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
Introducerea unui Personaj
MesajTrimis: 12/07/2007 10:09 Raspunde cu citat (quote)
Ad_Infinitum
Administrator
Administrator
Ad_Infinitum
Data inscrierii: 23/Iun/2007
Mesaje: 212




In acest tutorial voi scrie despre introducerea unui personaj " player " in scena si despre setarile lui.Tutorialul a fost inspirat de pe alte tutoriale in EN ;-)

Pentru a putea refolosii personajul va necesită sa scriem un cod ce reinitzializeaza jucatorul la inceputul jocului.
rem trigger player initialization
restart=1

Acum vom scrie un cod ce seteaza personajul cand variabila este 1 întrebuințând coliziunea fisieruluiBSP pentru camera.

rem In case of restart
if restart=1
restart=0
set bsp collision off 1
rotate camera 0,0,0
position camera 2,2,2
set bsp camera collision 1,0,0.75,0
endif

Dupa ce personajul a fost setat, vom incepe sa scriem un cod ce-l controleaza si-i da o anumita gravitate.

rem Control player direction
rotate camera camera angle x(0)+(mousemovey()/2.0),camera angle y(0)+(mousemovex()/2.0),0
rem Control player movement
cx#=camera angle x(0) : cy#=camera angle y(0)
if upkey()=1 then xrotate camera 0,0 : move camera 0,0.2 : xrotate camera 0,cx#
if downkey()=1 then xrotate camera 0,0 : move camera 0,-0.2 : xrotate camera 0,cx#
if leftkey()=1 then yrotate camera 0,cy#-90 : move camera 0.2 : yrotate camera 0,cy#
if rightkey()=1 then yrotate camera 0,cy#+90 : move camera 0.2 : yrotate camera 0,cy#
if wrapvalue(camera angle x(0))>40 and wrapvalue(camera angle x(0))180 then xrotate camera 0,40
if wrapvalue(camera angle x(0))>180 and wrapvalue(camera angle x(0))280 then xrotate camera 0,280
rem Apply simple gravity to player
position camera camera position x(),camera position y()-0.1,camera position z()


Va trebui sa ne asiguram ca personajul este pozitzionat la mijlocul universului.Pentru a face asta va trebui sa-l setam in funtcie de coordonatele cerului.

rem Player is always focal point of sky
position object SkyObj,camera position x(),camera position y(),camera position z()
rem Position listener at player for 3D sound
position listener camera position x(),camera position y(),camera position z()
rotate listener camera angle x(),camera angle y(),camera angle z()

made by Ad_Infinitum :whistle:
Vezi profilul utilizatorului Trimite mesaj privat

Introducerea unui Personaj
 Pagina de start a forumului http://alpha-thema-online.uv.ro » Tutoriale RO
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Creaza un subiect nou  Raspunde la subiect  


Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
    Powered by phpBB © 2001-2004 phpBB Group. phpBB Skin by Vjacheslav Trushkin.