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 » Simple Object Movement W A S D
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
Simple Object Movement W A S D
MesajTrimis: 12/09/2007 00:30 Raspunde cu citat (quote)
zapakitul
Moderator
<font color=green>Moderator</font>
Data inscrierii: 08/Iul/2007
Mesaje: 9
Localitate: Buzau




W A S D Movement
===============================================
Partea I
Deoarece am vazut multi paduchei care tot ma bat la cap despre cum sa faca sa miste obiectele atunci cand sunt apasate tastele W A S si respectiv D! In acest exemplu vom folosi: Un matrix ca suprafata de deplasare, un cub sau o sphera sau indiferent ce alt obiect vreti voi, si repsectiv comenzile necesare pentru deplasare
Inainte sa incepem trebuie sa intelegi ca inagara de anumite taste des utilizate toate au un numar de cod numite scancode... Deci natural ca sa misti un obiect folosindute de sageata sus ai scrie astfel:
Cod:

if upkey() = 1 then move object 1,1

Foarte bine, totul este corect! Ce ne facem daca totusi cineva vrea sa miste obiectul cu tasta W? Normal el ar scrie astfel:
Cod:

if Wkey() = 1 then move object 1,1

COrect dragilor? Ei nu pentru că tastei W i este dat un numar si anume numarul 17... Deci cum ar trebui noi sa folosim aceste coduri de taste in program? Ne folosim de functia keystate() si numarul tastei dorite! Deci un exemplu bun al comenzi de mai sus ar fi:
Cod:

if keystate(17) = 1 then move object 1,1

Greu ? Nu prea cred.. singurul fapt greu ar fi descoperirea si memorarea numerelor tastaelor! Asa acum, hai sa realizam un miic micut mititel program in care miscam un cub pe suprafata unei matrice...:
Cod:

make matrix 1,1000,1000,10,10
make object cube 1,1
do
if keystate(17) = 1 then move object 1,1 `(keystate(17) = W)
if keystate(31) = 1 then move object 1,-1 `(keystate(31) = S)
if keystate(30) = 1 then move object left 1,0.4 `(keystate(30) = A)
if keystate(32) = 1 then move object right 1,0.4 `(keystate(32) = D)
loop

Compilam si executam programul si vom observa un cub care se deplaseaza la apasarea tastei respective...
Cam atat pentru seara aceasta, promit sa continui tutorialul invatanduva sa plasati camera astfel incat sa urmareasca obiectul dumneavoastra, la o anumita distanta, si alte modalitati a misca obiectele utilizând tastele!

_________________
================================
GImme Credits: I have the source code.. PUNK
Vezi profilul utilizatorului Trimite mesaj privat

Simple Object Movement W A S D
 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.