Curs Flash

In acest tutorial Flash - AS3 puteti invata cum se schimba culoarea la un obiect MovieClip din scena cu Actionscript 3.0 si clasa ColorTransform.
Clasa ColorTransform permite setarea culorii obiectelor afisate in prezentarea Flash.
Mai intai se creaza un obiect ColorTransform cu new ColorTransform(), se foloseste proprietatea color la acest obiect pentru a seta culoarea, apoi acest obiect se aplica ca valoare la: obiect_MovieClip.transform.colorTransform .
Iata codul:

// creare obiect ColorTransform
var obj_color:ColorTransform = new ColorTransform();

// setare culoare (aici albastru)
obj_color.color = 0x0000ff;

// aplica transformarea culorii la obiectul movie clip (va afecta intreg obiectul, inclusiv liniile)
obiect_MovieClip.transform.colorTransform = obj_color;

Iata un exemplu practic. Patru butoane vor fi utilizate pentru a schimba culoarea unui patrat transformat in MovieClip; fiecare buton cu o culoare.

Pasii de creare a acestei prezentari Flash:
  1. Deschideti un nou document Flash AS3. Selectati Rectangle Tool si desenati un patrat in scena.
  2. Acum se transforma patratul in Symbol Movie Clip.
    Avand patratul selectat, click Modify - Convert to Symbol (sau F8), la "Type" alegeti optiunea Movie Clip, apoi click OK.
  3. Cu patratul selectat, deschideti panoul "Properties", si dati-i un nume de instanta: patrat (in caseta text cu: <Instance Name>).
  4. Alegeti instrumentul Oval Tool si desenati un cerc in scena, sub patrat.
  5. Acum se transforma cercul in buton.
    Avand cercul selectat, click Modify - Convert to Symbol (sau F8), alegeti la "Type" optiunea Button (la "Name" puteti sa-i dati un nume, de exemplu "Buton"), apoi click OK.
  6. Cu cercul selectat, deschideti panoul "Properties", si adaugati numele de instanta: b_rosu (acest buton va fi folosit pt. schimbarea culorii patratului in rosu).
  7. Acum se adauga in scena inca trei instante de cerc-buton, pentru alte culori: verde, galben si albastru.
    Deschideti panoul "Library", click pe Butonul creat si trageti-l in scena, astfel se adauga o noua instanta de button. Click si trageti inca doua instante.
    - Asezati patratull si cercurile (butoanele) ca in prezentarea de mai sus.
  8. Acum se da un nume de instanta diferit pentru fiecare buton din scena (acest nume se foloseste in ActionScript pt. a face legatura dintre obiectul din scena si codul AS3).
    Selectati primul cerc (cu "Selection tool"), deschideti panoul "Properties", si adaugati numele de instanta: b_verde (acest buton va fi utilizat pt. schimbarea culorii patratului in verde).
    Selectati al doilea buton si dati-i numele de instanta: b_galben (in panoul "Properties").
    Selectati al treilea buton adaugat si dati-i numele de instanta: b_albastru .
    - Culorile de afisare a butoanelor vor fi definite din ActionScript.
  9. Acum se scrie codul ActionScript care adauga culoare butoanelor si schimba culoarea patratului cand se apasa click pe buton (explicatiile sunt in comentariile din cod).
    Click Insert -> Timeline -> Layer pentru a crea un nou layer (strat) in Timeline (Layer 2). Dublu-click pe numele lui in Timeline si modificati-l in "Actions".
    - E o metoda eficienta sa aveti un Layer separat, cu nume specific, pt. codul ActionScript.
    Click-dreapta pe primul Frame (Cadru) din stratul Actions si alegeti Actions. Flash va deschide un panou in care se scrie codul ActionScript.
    Copiati codul urmator si adaugati-l in acel panou:
    // creare Array cu instantele butoanelor
    var btns:Array = [b_rosu, b_verde, b_galben, b_albastru];
    
    // creare obiect ce stocheaza culorile pt. fiecare buton
    var set_colors:Object = {'b_rosu':0xff0000, 'b_verde':0x00ff00, 'b_galben':0xffff00, 'b_albastru':0x0000ff};
    
    // seteaza un obiect ColorTransform
    var obj_color:ColorTransform = new ColorTransform();
    
    // parcurge array-ul "btns", cu instantele butoanelor
    for(var i:int=0; i<btns.length; i++) {
    	// seteaza si adauga culoare la fiecare buton
      obj_color.color = set_colors[btns[i].name];
      btns[i].transform.colorTransform = obj_color;
    
      // inregistreaza un eveniment CLICK pt. fiecare buton
      btns[i].addEventListener(MouseEvent.CLICK, changeColor);
    }
    
    // functie apelata de evenimentele CLICK
    function changeColor(evt:Event):void
    {
    	// obtine numele de instanta a butonului apasat
    	var b_name = evt.target.name;
    
      // seteaza si schimba culoarea patratului (patrat)
    	obj_color.color = set_colors[b_name];
    	patrat.transform.colorTransform = obj_color;
    }
    
    - Daca vreti mai putine sau mai multe butoane, modificati Array-ul "btns" si obiectul "set_colors", reducand sau adaugand noi instante si culori, in functie de butoanele din scena.
  10. Salvati acest document Flash si apasati "Ctrl+Enter" ca sa vedeti rezultatul.

- Fisierul FLA cu exemplu din acest tutorial poate fi descarcat de la: Tutorial Schimba culoarea la obiect MovieClip.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"
<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()
#some_id:hover {
  transform: rotate(60deg);
  -ms-transform: rotate(60deg);    /* IE 9 */
  -moz-transform: rotate(60deg);   /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()
var maxn = Math.max(8, 4, 88, 56);
alert(maxn);      // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()
include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vreme
Most people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenĂ­simo"
mai bun mai putin bun extrem de bun
Este fruto es buenĂ­simo.
- Acest fruct este extrem /nemaipomenit de bun.
ActionScript 3 - Schimba culoarea la obiect MovieClip

Last accessed pages

  1. Prezentul simplu - Exercitii si teste incepatori (69491)
  2. Dezactivare buton si activare dupa un anumit timp (319)
  3. Subjunctiv prezent (917)
  4. Lectia 51, Recapitulare 1-5 (83)
  5. Cursuri limba engleza gratuite si lectii online (65466)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (434)
  2. Gramatica limbii engleze - Prezentare Generala (278)
  3. Coduri pt culori (241)
  4. Cursuri limba engleza gratuite si lectii online (182)
  5. Exercitii engleza - English Tests and exercises - Grammar (170)