 |
|
 |
 | Funtile Text(ink, print, pozitionarea textului pe ecran |  |
Trimis: 29/06/2007 12:25 |
|
|
| Ad_Infinitum |
| Administrator |

 |
 |
| Data inscrierii: 23/Iun/2007 |
| Mesaje: 212 |
|
|
|
 |
 |
 |
|
Am decis ca in acest tutorial cu numarul sa studiem si functiile de coordonate so functiile de text! Nu vom incerca sa creem un program deosebit, sau ceva extrem de complex, ci vom realiza un mic program in genul unui screen saver, care sa il folosim drept inceput la una din aplicatiile naostre! Acest tutorial este mai complex din punc de vedere al tipurilor de comenzi folosite, dar este accesibil tuturor si i special usor de inteles! Acuma, noi toti cunoastem comanda de afisare a unui mesaj pe ecran, comanda cunoscuta sub numele de print! Ca sa afisam un text pe ecranul nostru cand rulam aplicatie, scriem
[quote]Print “aplicatia incepe daca apesi o tasta”
Dar pentru a realiza ceva mai complex putem tot odata sa folosim si comanda text, comanda ce o vom folosi destul de des de acum in colo…. Pentru a face textul nostru dynamic ii vom da o functie de miscare! Pentru acest lucru trebuie sa ne gandm in ce sistem de axe de coordonate il vom face, in 3D sau 2D! Cum un text este o aplicatie 2D(sa zicem), vom utiliza daor axele x si y! Acuma, trebuie sa definim pozitiile lor, astfel avem urmatorul cod:
Deci am determinat inceputul lor ca fiind in punctul 0! Acuma este timpul sa incepem practic procesul de scriere si animatie a textului! Astfel ca programul sa stie ca urmeaza o comanda, sau mai multe, ii spunem acest fapt folosind comanda “DO”… Dupa aceasta comanda vom afisa mesajul propriuzis întrebuințând funcita text si axele de coordonate! Astfel avem urmatorul cod:
| Citat: |
text x,y, “hello”
x = x + 1
y = y + 1
if x = 640 then x = 0 : y = y + 7
if y = 480 then y = 0
cls
loop
|
Haide sa explicam ce inseamna aceasta insiruire neomogena de litere… Asa ca avem inițialul rand ” text x,y, “hello” ” Practic aceasta comanda spune programului sa “contruiasca” o insiruire de cuvinte pe axele x si y
Urmatorul rand ” x = x + 1 si y = y + 1 ” spune programului ca textul isi modifica pozitiile pe cele doua axe. Acuma, urmatorul rand defineste rezolutia programului, ea ruland la 640X480! Acuma, pentru a face aces proces sa ruleze la infinit, sau pana e oprit vom folosi functia de loop, dar nu inainte de a face un mic refresh la ecran, pentru a face posibila deplasarea textului in punctul initial! Asa ca vom folosi si “cls”! “CLS” este o comanda in darkbasic(si nu numai) care inseamna CLear Screen! Pana acuma avem urmatorul cod:
| Citat: |
x = 0
y = 0
do
text x,y, “hello”
x = x + 1
y = y + 1
if x = 640 then x = 0 : y = y + 7
if y = 480 then y = 0
cls
loop
|
Insa mie mi se pare ca acest text nu are pic de culoare…… Hai sal mai coloram putin(ca tot vopsim si ouale de aste :P)! Asa ca vom folosi una din functiile de “RGB”(red green blue) si fucntia de INK(dupa cum v-ati dat seama cerneala)! Asa ca imediat dupa do vom trece urmatorul rand:
| Citat: |
ink rgb(rnd(255),rnd(255),rnd(255)),0
|
Comanda “ink RGB” spune programului sa coloreze textul urmator… Functiile rnd practic aduc noi coordonate varibilelor(cum acuma sunt intr-o mica criza de timp, nu voi descrie exact ce inseamna end, va voi spune acuma daor ca , ca si in orice limbaj de progrmare, aceasta functie aduce noi variabile, deci in loc sa avem culorile RGB pe xxx,xxx,xxx acem functia rnd care implanteaza noi culori! Acuma, codul nsotru ar necesită sa arate cam asa:
| Citat: |
x = 0
y = 0
do
ink rgb(rnd(255),rnd(255),rnd(255)),0
text x,y, “hello”
x = x + 1
y = y + 1
if x = 640 then x = 0 : y = y + 7
if y = 480 then y = 0
cls
loop
|
Sper sa va ajute acest tutorial in a intelege mai usor tainele DarkBasic-ului!
Made by Zapakitul .. thx  |
|
|
|
|
|
|