Small Basic: Shapes


În Small Basic găsim şi o clasă Shapes (Forme) ce permite lucruri interesante. Amintesc a câta oară că Small Basic este destinat începătorilor şi/sau copiilor. Cei mici vor fi încântaţi de primele lor animaţii, chiar dacă ele includ nişte forme simple. Dar despre ce forme vorbim? Cu AddRectangle, AddEllipse, AddTriangle şi AddLine putem adăuga dreptunghiuri (cu laturile egale şi atunci e pătrat), elipse (lăţime şi înălţime egală şi atunci e cerc), triunghi şi respectiv linii. Mai avem şi AddImage (yep, animaţii cu imagini) sau AddText dacă vrem să animăm texte. Fiecare dintre acestea returnează forma pe care trebuie să o salvăm într-o variabilă pentru ca mai apoi să aplicăm diverse acţiuni. Astfel, definim un pătrat scriind patrat=Shapes.AddRectangle(100,100).

imagine

Dacă vrem să îl mutăm undeva, folosim Shapes.Move(patrat,300,200). Putem roti pătratul scriind Shapes.Rotate(patrat,30), pentru o rotaţie de 30 de grade. Avem şi posibilitatea scalării, de la 0.1 la maxim 20. Astfel, cu Shapes.Zoom(patrat,0.5,3) am face din pătratul iniţial unul înjumătăţit ca lăţime şi de trei ori mai înalt. Ei, şi cum am putea omite animaţia cu Shapes.Animation(forma,x,y,durata). Mai sunt şi alte operaţii dar vă las să le descoperiţi (gen: transparenţa formelor).

Acum să vedem câteva coduri. Începem cu unul simplu (execuţia aici). Ghiciţi ce face? Desigur, ceea ce aţi văzut deja în prima captură: se generează un şir bidimensional (o matrice) de pătrate, de diverse culori, afişate corespunzător (adică pe linii şi coloane).

GraphicsWindow.Width=480
GraphicsWindow.Height=480
linii=10
coloane=10
dimensiune=40
For l = 1 To linii
  For c = 1 To coloane
    GraphicsWindow.BrushColor=GraphicsWindow.GetRandomColor()
    boxes[l]1=Shapes.AddRectangle(dimensiune,dimensiune)
    Shapes.Move(boxes[l]1,c*dimensiune,l*dimensiune)
  EndFor
EndFor

Al doilea cod (execuţia aici) e ilustrat în a doua captură, dar… evident nu surprinde animaţia. Tot ce am făcut a fost să creez o elipsă (de fapt cerc), să o mut pe poziţia centrală-stânga, după care să o zăpăcesc dintr-o parte în alta (până în marginea dreaptă şi înapoi, tot aşa de zece ori).

GraphicsWindow.Width=480
GraphicsWindow.Height=480
GraphicsWindow.BrushColor="Red"
cerc=Shapes.AddEllipse(100,100)
Shapes.Move(cerc,10,190)
For i=1 To 10
  Shapes.Animate(cerc,370,190,1000)
  Program.Delay(1000)
  Shapes.Animate(cerc,10,190,1000)
  Program.Delay(1000)
EndFor

Cam atât pentru moment. Evident, exemplele sunt simpluţe dar… didactice. Acum e rândul Dvs să vă jucaţi pentru a obţine efecte mai interesante: un triunghi ce se învârte… un pătrat ce merge în… pătrat… ş.a.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (2 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *