Geometrie in Flash ActionScript 2.0


Sa facem si putina geometrie in Flash. Vom incepe cu lucruri de baza, ca si in scoala primara. Ne vom folosi in mare parte de functiile de Math puse la dispozitie de Flash.

Cum se calculeaza aria unui patrat in Flash?

var latura:Number = 15;
ariaPatrat = Math.pow(latura, 2);
trace(ariaPatrat);

Cum se calculeaza aria unui dreptunghi in Flash?

var lungime:Number = 10;
var latime:Number = 10;
ariaDreptunghi = lungime*latime;
trace(ariaDreptunghi);


Cum se calculeaza aria unui paralelogram in Flash?

var baza:Number = 10;
var inaltime:Number = 5;
ariaParalelogram = baza*inaltime;
trace(ariaParalelogram);

Cum se calculeaza aria unui trapez in Flash?

var bazamica:Number = 5;
var bazamare:Number = 10;
var inaltime:Number = 5;
ariaTrapez = inaltime/2*(bazamica+bazamare);
trace(ariaTrapez); 

Cum se calculeaza aria unui cerc in Flash?

var raza:Number = 2;
ariaCerc = Math.PI*Math.pow(raza, 2);
trace(ariaCerc);

Cum se calculeaza aria unei elipse in Flash?

var raza1:Number = 3;
var raza2:Number = 2;
ariaElipsa = Math.PI*raza1*raza2;
trace(ariaElipsa);

Cum se calculeaza aria unui triunghi echilateral in Flash?

var laturaTriunghi:Number = 3;
ariaTriunghiEchilateral = Math.sqrt(3)/4*Math.pow(laturaTriunghi, 2);
trace(ariaTriunghiEchilateral);

Cam acestea ar fi cele mai uzuale formule de calcul geometic in Flash.

La ce va folosesc functiile de calcul geometric in Flash?

Sa luam un exemplu. Aveti data aria unui patrat care este egala cu 1000 si vreti sa desenati patratul folosind ActionScript.

ariaPatrat = 1000;
latura = Math.sqrt(ariaPatrat);
var patrat:MovieClip = createEmptyMovieClip("patratul", 2);
patrat.beginFill(0x000000, 100);
patrat.moveTo(0, 0);
patrat.lineTo(latura, 0);
patrat.lineTo(latura, latura);
patrat.lineTo(0, latura);
patrat.endFill();

Codul calculeaza toate coordonatele in functie de dimensiunea ariei. Aflam lungimea laturii extragand radacina patrata din arie, iar apoi desenam patratul in functie de rezultanta.

Sa luam pe rand fiecare linie de cod ca sa intelegeti exact ce se petrece.

var patrat:MovieClip = createEmptyMovieClip("patratul", 2);

Cream un nou movieClip care se va numi patratul si va avea depth-ul 2.

patrat.beginFill(0x000000, 100);

Coloram noua variabila de tip movieClip in negru si cu alpha 100.

patrat.moveTo(0, 0);

Mutam patratul la coordonatele 0px – 0px.

patrat.lineTo(latura, 0);

Desenam latura de sus. Ea se va intinde de la pozitia x setata anterior (0px) pana la pozitia x data de variabila latura (radacina patrata din arie). Pozitia y ramane 0.

patrat.lineTo(latura, latura);

Avand toate laturile egale, construim linia din dreapta de la pozitia y setata anterior (0px) la pozitia y egala cu latura noastra. Pozitia x este egala cu variabila latura.

patrat.lineTo(0, latura);

Trasam linia de jos de la pozitia x egala cu variabila latura pana la pozitia x egala cu 0px. Linia va fi trasata la coordonata y data de variabila latura.

patrat.endFill();

In final vom incheia procesul de “colorare”. Nu este nevoie sa trasam si a patra latura pentru ca Flash-ul va inchide automat shape-ul.

Acesta ar fi doar un exemplu, posibilitatile sunt nelimitate.

C’ya next time!



Ti-a placut articolul Geometrie in Flash ActionScript 2.0?

Ai nevoie de rezolvarea unei probleme la informatica?

Iti recomandam si urmatoarele articole:

3 comentarii pentru Geometrie in Flash ActionScript 2.0

  • cristi - 23 septembrie

    Salut, o rugaminte pentru un player flv . Incerc sa-i fac cateva modificari si nu prea ma descurc in actionscript 3, prima ar fi:
    vreau sa includ intr-un Layer din player scriptul adica sa nu mai fie
    package fla
    {
    import flash.display.*;

    public dynamic class MainTimeline extends flash.display.MovieClip
    {
    public function MainTimeline()
    {
    super();
    addFrameScript(0, frame1);
    return;
    }
    si sa pot pune tot ce este din package fla in Layer-ul din player.
    Se poate asa sau trebuie sa le rescriu eu ex:

    this.mc.addEventListener(flash.events.MouseEvent.MOUSE_OVER, onOver);
    function onOver(arg1:flash.events.MouseEvent):void
    {
    //
    }



  • Stefan - 23 septembrie

    In principiu ar trebui sa mearga cu copy/paste atata timp cat modifici ceea ce trebuie (elimini import-urile, caile catre obiecte etc.). Daca te hotarasti sa treci pe AS2 te ajut cu cea mai mare placere, nu am avut inca timpul disponibil sa invat AS3.



  • cristi - 24 septembrie

    Merci Stefan, Am incercat si asa, sa elimin importurile si unele declaratii dar in alt package am avut acelasi lucru:
    addFrameScript(0, frame1); unde eu am modificat cu frame2. Nu cunosc atat de mult AS, ce este deja scris mai inteleg dar sa fac eu ceva nou nu stiu, dar nici sa ma pun acum sa-mi cumpar carti pentru cateva modificari pe care le vreau eu. Playerul este facut de altii in AS3 si are in mare parte tot ce am vrut in el, reclama text si vdeo, skin xml, buton aspect ratio, ce am introdus eu tooltip salt time, una am rezolvat:) as m-ai avea doua, volumul si playlist-ul, volumul l-am gasit pe un site comercial si este asa cum am vrut, dar sunt blocat la o chestie minora cred nu stiu sa fac link la package dintr-o fila noua chiar daca ii dau copy/paste la tot ii scriu si calea in class tot nu merge, cred ca mai trebuie sa fie undeva declarata lucrez cu CS4, asta mi-a fost si ideea de-a renunta la package. Ce nu am prea inteles eu din flash este ca am vazut animatii facute cu caurina, iar aceleasi animatii facute intr-un mod mult mai simplu prin import fl.transition



Discuta articolul Geometrie in Flash ActionScript 2.0



Contul tau

Categorii

Mozku Network

Ne gasesti si pe Facebook

Articole noi

Fisiere populare

  • Proiect Atestat Informatica Visual FoxPro (439)
  • Twitter Patterns (202)
  • Flash Newsletter (126)
  • hitTest Flash (99)
  • Baza de date auto revizuita (98)

Marcaje articole