Events

download Events

If you can't read please download the document

  • date post

    15-Nov-2014
  • Category

    Technology

  • view

    1.563
  • download

    5

Embed Size (px)

description

 

Transcript of Events

  • 1. Cercul de RIAEvenimente
    Facultatea de Informatic
    Iai

2. Ceeste un eveniment ?
Un eveniment este un moment special din viaa unui obiect.
Atunci cnd se produce un eveniment, toate sarcinile obiectului sunt trecute pe planul doi, tratarea corespunztoare a evenimentului devenind principalul scop de moment.
Dup tratarea evenimentului, obiectul i continu viaa.
http://flash.info.uaic.ro
3. Ceeste un eveniment ?
Nu toate evenimentele sunt importante pentru un obiect:
- pe unele le intereseaz cnd sunt cliccite

  • pe altele le intereseaz cnd s-a ncrcat o anumita resurs

4. sau cnd se produce o eroare, sau apare o problema de securitate, sau cnd primete sau pierde focusul, cnd este apsat o tasta etc.http://flash.info.uaic.ro
5. Ce esteun eveniment?
Un eveniment este un obiect, instan a unei clase ce extinde clasa Events.
Evenimentul este aruncat printr-o procedura dispatch
http://flash.info.uaic.ro
6. Dispatch n dicionar
1. expediere, trimitere; dispath service = serviciu de expediie (al unei case comerciale); dispatch note = borderou de expediere;
2. rezolvare prompt (a unei afaceri);
3. promptitudine, rapiditate; with all possible dispatch = cu cea mai mare promptitudine;
4. executare (a unui condamnat), omorre; happy dispatch = harachiri;
5. depe (diplomatic, telegrafic);
6. ntreprindere de transporturi rapide;
7. a expedia (o scrisoare, mrfuri); a trimite (un curier);
8. a omor;
9. a rezolva, a lichida repede (o afacere, o chestiune);
10. a mnca pe nersuflate
7. Alte ntrebri
Cine iniiazaceastprocedur ? chiarobiectul.
De ce ? pentru ca toatlumea spoataflacea pit
Cine poatelua msuri ? (trataevenimentul)
- Evenimentulpoatefitratat att de obiectul care i-a fcut dispatch ct i de oricaredintre prinii lui.
8. Cum afl prinii de eveniment?
Atunci cndobiect de tip evenimentestearuncat (aruncat = dispatch), el treceprintrei faze: capture / targeting / bubbling.
Straducemtermenii >:)
Capture = captur
Target = int
Bubble = ecou
http://flash.info.uaic.ro
9. Usecase
n scenavem un nod printe care are doicopii:
http://flash.info.uaic.ro
10. Usecase
Fiecare din copii are ataat evenimentul Click. n momentulapsarii: acestuia, evenimentultreceprinceletrei faze (capture / targeting / bubbling ).
http://flash.info.uaic.ro
11. Ordineafazeloreste exact ceaexpusmaisus:
http://flash.info.uaic.ro
12. Captur
http://flash.info.uaic.ro
13. int
http://flash.info.uaic.ro
14. Ecou
http://flash.info.uaic.ro
15. Fratele nu poate vedea eventul
http://flash.info.uaic.ro
16. Cine poate asculta evenimentul ?
Oricare din prini
Obiectul
Din nouoricare din prini(ecoul)
http://flash.info.uaic.ro
17. Lets Code !
Celetreiobiecte: un printe, doicopii
Evenimente de click pentrufiecare
http://flash.info.uaic.ro
18. Lets Code !
Aranjm n scen, desenm chestii simple pentruprogramatori AS3 aa avansai ca voi
http://flash.info.uaic.ro
19. Lets Code !
Funciile - listener nu facdect trace la numeleobiectului care a capturatevenimentul
http://flash.info.uaic.ro
20. Lets Code !
Dupce s-a apsat NUMAI peprimulcopil
http://flash.info.uaic.ro
21. Lets Code !
TARGET
BUBBLE
http://flash.info.uaic.ro
22. Ce s-a ntamplat cu faza de capture?
Pentru a permiteobiectelor-parini scapturezeevenimentuln faza de capture, comenziiaddEventListenerimaitrebuie un parametru (true).
De faptacumvomataa listenerul
numaipentrufaza de capture, nu i
pentru bubble.
Here it is
http://flash.info.uaic.ro
23. Re-Run !
CAPTURE
TARGET
24. Se pot adugaitoatefazele:
http://flash.info.uaic.ro
25. Re-Run !
CAPTURE
TARGET
BUBBLE
http://flash.info.uaic.ro
26. De ce e nevoie de toatefazeleastea?
Prinii pot trimite mesaje prinintermediulobiecteleor de tip eveniment ctrecopii (iviceversa).
Pentru a face acestlucrutrebuietotui ca evenimentul s permit adugareamesajului
Un utilizatorpoatecrea un obiect de tip eveniment ca instana a uneiclase (proprii) care sextind event NICE!
http://flash.info.uaic.ro
27. De ce e nevoie de toatefazeleastea?
De cearcrea un utilizator aa ceva ?
- de exempluobiectul de tip meniupentru o galeriefotoarputeatrimite prinilor si ctoatepozele s-au ncrcat ca un eveniment:
S vzicceva mito: allMyPicturesAreLoaded
Printele: UUUUuuu.. Sa teexploatamatunci
http://flash.info.uaic.ro
28. Screm o clasCustomEvent
Extindereclasica
http://flash.info.uaic.ro
29. Screm o clasCustomEvent
Un numepentru event este un ir de caractere (de ex: MouseEvent.CLICK == click)
http://flash.info.uaic.ro
30. Screm o clasCustomEvent
Se vapropagan sensinvers ?
(aiciartrebui strimitem true cndfacemobiectul de tip CustomEvent ca sputemsal prindemin faza de ecou)
http://flash.info.uaic.ro
31. Screm o clasCustomEvent
I se permitevreunuiobiectsaopreascapropagarea cu stopPropagation sau stopImmediatePropagation ?
http://flash.info.uaic.ro
32. Screm o clasCustomEvent
Apelm constructorulsuperclasei cu parametriiprimii
http://flash.info.uaic.ro
33. Screm o clasCustomEvent
Acestobiect nu poate duce nici o proprietate. Sl facemdinamic ca s-iputem adugaproprieti la runtime
http://flash.info.uaic.ro
34. WHAT NEXT?
Dup apsarea lui copil1, acesta va porni (intern) un timer: cu setInterval i vom apela la fiecare 500ms o funcie care va genera un numr ntreg ntre 0 i 100. Dac numrul este divizibil cu 10 va arunca evenimentul nostru de tip CustomEvent avnd proprietatea valoare setat cu valoarea numrului.
Rescriem listenerul evenimentCopil1:
http://flash.info.uaic.ro
35. evenimentCopil1
Apelm la fiecare 500ms
http://flash.info.uaic.ro
36. evenimentCopil1
Aceastfuncie
http://flash.info.uaic.ro
37. evenimentCopil1
n care se genereaz un uintntre 0 si 100
http://flash.info.uaic.ro
38. evenimentCopil1
idacestedivizibil cu 10
http://flash.info.uaic.ro
39. evenimentCopil1
Crem un obiect de tip CustomEvent
http://flash.info.uaic.ro
40. evenimentCopil1
Evenimentulvafiidentificatprinacest String
http://flash.info.uaic.ro
41. evenimentCopil1
i setm o proprietate
http://flash.info.uaic.ro
42. evenimentCopil1
iifacem Dispatch
http://flash.info.uaic.ro
43. Evenimentull vomprindemaiapointr-unuldin prini scena de ex:
Care eveniment ? Acesteveniment!
Apelfuncie listener (care vaprimi ca parametru un obiect de tip CustomEvent)
http://flash.info.uaic.ro
44. evenimentCopil1
Da, acesta !!!
http://flash.info.uaic.ro
45. evenimentCopil1
Care coninevaloareasetat anterior !
http://flash.info.uaic.ro
46. http://flash.info.uaic.ro
http://flash.info.uaic.ro
47. De maimulteoriacelai event:
Dac pe copil1 atam de mai multe ori evenimentul MouseEvent.CLICK, ordinea capturrii este cea a adugrii (de fapt este creat o lista de evenimente i n aceasta list ordinea este cea n care s-au adugat).
Dac vrei s modificai prioritatea, dup al treilea parametru reprezentnd capturarea, n momentul capture, se poate aduga un al patrulea parametru de tip uint reprezentnd prioritatea.
http://flash.info.uaic.ro
48. Weak References:
Un ultim parametru atunci cnd este adugat un eveniment este useweakreference de tip Boolean.
Dac obiectul cruia i-a fost adugat evenimentul i pierde toate referinele n mod normal acesta ar trebui s fie colectat de garbagecollector. Acest lucru se ntmpl fie dac ai eliminat n prealabil evenimentul fie dac ai setat ca true valoarea lui useweakreference.
http://flash.info.uaic.ro
49. ntrebri ?!?!