Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Sfaturi achiziție pentru inc...

Inocuitor dioda redresoare smd ha...

Problema cu tuia, se usuca
 2 invertoare la acelasi banc de b...

Stocare ieftina si consistenta pe...

Cu masina spre Portugalia

Acoperis mansarda - am nevoie de ...
 Bmw seria 3 zgomot in sarcina

Samsung S21 FE - nou cu poze in el

Smart Meter

Problema infiltratie apa
 Elon Musk prezinta robotul Optimu...

La multi ani @laurstef!

Plita gaz Arctic ARNGN64127SB

Vaccin - alergie polen, ambrozie ...
 

Flem - un ultimu tutorial de la mine-

- - - - -
  • Please log in to reply
No replies to this topic

#1
Sebastian

Sebastian

    Active Member

  • Grup: Members
  • Posts: 1,182
  • Înscris: 26.11.2001
FLEM este abrevierea de la FLash Event Model.
Ce face el ?
Va permite structurarea mult mai organizata a comenzilor as si in acelasi timp renuntarea la interceptarea evenimentelor pt un obiect in orice moment !
De ex:Inainte ,cand nu foloseam FLEM, si as fi vrut sa fac un obiect(movieclip) sa testeze daca s-a apasat tasta mouse-ului in timp ce cursorul se afla deasupra lui, ii atribuiam in mod direct acest cod:
onClipEvent(mouseDown){
if(this.hitTest(_root._xmouse,_root._ymouse)){
trace("Click")
}}

Acum, cum as face acelasi lucru folosind FLEM...
Trebui deschis fisierul template pe care il luati din arhiva flem.zip
.Se numeste FLEMBasics.fla.Puteti ,insa, sa creati dvs
fla-ul introducand mc-ul ce se gaseste in template(cel ce asculta ,practic, evenimentele) si sa urmati pasii de mai jos.
Pe frame-ul pe care se afla mc-ul cu pricina atasez acest cod:


/*acest cod nu face nimic altceva decat sa includa codul ce se afla in fiserul flem.as(codul ce permite aceasta tehnica)*/

#include "flem.as"
/*acum incepe ,practic, problema pe care ne-am propus-o.
Pana acum am facut o simpla rutina de activare a tehnicii pe care
v-o prezint.
Se presupune ca  numele instantei mc-ului pe care vreti sa il folositi este 'mc',*/

/*codul acesta face ca mc-ul nostru sa astepte un eveniment al mouse-ului(onmousedown,onmouseup sau onmousemove).In cazul onmousemove trebuie ca din codul inclus pe mc-ul pe care l-ati luat din template sa eliminati "//".Asta pt ca in mod implicit, interceptarea miscarii mouse-ului este deactivata.
Acest lucru a fost decis de cel ce a produs tehnica pt ca metoda sa nu consume in mod inutil prea multe resurse !*/

Mouse.addFLEMListener(_root.mc)
/*Acum adaugam  codul pe care il aveam inainte sub onClipEvent(mouseDown).Se face in felul urmator.*/
_root.mc.onmousedown=function(){
if(this.hitTest(_root._xmouse,_root._ymouse)){
trace("click")}
}



Cam asta ar fi !
Acum ceva practic.Ce veti vedea mai jos este un exemplu de utilizare.
Sunt mai multe instante ale aceluiasi mc(o bila) ce nu au nume.
Nu au nici cod,nimic.
Intr-un singur frame am scris tot.Cum am gandit ?
Am facut ca fiecarui mc din _root sa ii fie atribuit un cod de interceptare al clickului pe el.
Asta am facut prin a folosi for (i in _root).Acest lucru trece printr-un ciclu prin toate obiectele aflate in root.Testam daca acestea erau movieclip si daca da le atribuiam codul.
Testarea tipului se face prin functia typeOf().
Cand acest lucru se intampla(apsarea tastei mouse-ului), se executa o functie ce genereaza valori pt proprietatiile _alpha,_x,_y,_xscale_,_yscale si se executa o functie 'TRAN'  de 5 ori.Aceasta functie modifica cu animatie o proprietate a unui mc.
Functia reuseste sa modifice cu animatie avand un interceptor de tipul onClipEvent(enterFrame) care a fost definit asa:

function tran(target,prop,val){
.
.
.
MovieClip.addFLEMListener(this)
this.onEnterFrame=function(){
//aici este codul de modificare prin animatie pas cu pas.
}
}


Dar cel mai bine uitati-va mai jos sa vedeti rezultatul:
http://www.snm.ro/work/cool.html
Apoi, luati sursa de aici:
http://www.snm.ro/work/flem.rar
Si uitati-va peste sursa.Este comentata !
Pt fisierul original si pt mai multe informatii despre aceasta metoda,vizitati:
http://chattyfig.figleaf.com/flem

                                                                     Tomita Dan

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate