 |
|
 |
 | Simple Object Movement W A S D |  |
Trimis: 12/09/2007 00:30 |
|
|
| zapakitul |
| Moderator |

|
 |
| 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 |
|
|
|
|
|
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
|
|