UNIX,Linux,Retele,Programare
Homespacer Tutorialespacer Forumspacer Utilizatorispacer Cautarespacer Webmailspacer Director web


DarkBasic Tutorial 8

Scris de zapakitul

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 orice 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 normal ca sa misti un obiect folosindute de sageata sus ai scrie astfel:

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:

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

Corect dragilor? Ei nu deoarece 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:

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

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

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 invatandu-va sa plasati camera astfel incat sa urmareasca obiectul dumneavoastra, la o anumita distanta, si alte modalitati a misca obiectele folosind tastele!

Categoria: Programare

 
© 2008 SkullBox, all rights reserved