Globale linker

Flash

Mer ActionScripting

På forrige side så vi at ActionScripts er hendelsesdrevet. Med det mener jeg at at når en bestemt hendelse inntreffer, vil en forhåndsbestemt handling inntreffe. En hendelse som utløser et ActionScript kan være et museklikk, eller at Playhead kommer til en bestemt Frame. Med ActionScript kan vi kontrollere omtrent alle attributtene og egenskapene til nesten et hvilkensomhelst element. ActionScript lar de forskjellige elementene snakke sammen. Og for at elementer skal kunne snakke sammen bruker vi Tell Target-actionet.

Tell Target

Vi bruker Telltarget til å la et element (fortelleren) gi en instruks til et annet element (mottager). Før vi kan se hva dette egentlig går ut på trenger vi et par symboler - en forteller og en mottager.

Så la oss lage et lite ansikt vi kan snakke med. Noe vi kan gi beskjed om å være glad eller trist.

Åpne et nytt tomt dokument

  1. Lag et nytt movie clip symbol som du kaller smiler.
  2. Smiler movie clipInne i smiler, lag to nye layere. Gi dem navn, fra bunn: face, eyes og smile. Disse layerne skal inneholde de forskjellige delene av et ansikt.
  3. En gul sirkel i face layeretI face layeret, plasser en sirkel fylt med gul og med svart kantstrek. Bruk Info paletten til å midtstille det.
  4. Øynene plasseres i eyes layeretI eyes layeret, tegner du to øyne
  5. Munnen plasseres i smile layereti smile layeret plasserer du en rett horisontal strek
  6. 15 tomme Frame si hvert layer, og en Keyframe i Frame 15 i smile layeretSå skal vi utvide Timeline, slik at alle layerne er 15 Frames lange. Klikk, hold og marker Frame 2 i smile layeret, trekk ned til Frame 15 i face layeret. Trykk F5 for å legge til tomme Framme til animasjonen.
    Så legger du til en Keyframe i Frame 15 i face layeret
  7. Lag et smil med Arrow ToolI Frame 1 i smile layeret, bruk Arrow Tool (V) på strekmunnen, og trekk ned slik at munnen blir et smil.
  8. Kall Keyframen 1 "happy"
    Kall Keyframen 1 "happy"Klikk og marker Frame 1 i smile layeret, i Frame paletten legger du til en merkelapp med teksten happy og sett Tweening til shape
  9. Skikkelig sutremunn i Keyframe 15Velg Keyframe 15 i smile layeret. Med Arrow Tool (V) gjør du munnen om til sutremunn.
  10. merkelapp = sadHa fortsatt Keyframe 15 markert, i Frame paletten legger du inn markelappen sad.
  11. Forhåndsvis i Library palettenDu kan få en liten forhåndsvisning av symbolet ved å ta fram Library paletten (CTRL+L) og klikke på Play-knappen øverst til høyre i forhåndsvisningsvinduet.
  12. Munnen plasseres i smile layeretKlikk og ta tak i Playhead. Dra den opp og ned til du finner punktet hvor munnen er rett. Sett inn en Keyframe i smile layeret her. I Frame paletten legger du inn merkelappen neutral på denne Keyframe'n
  13. Hver av dise merkelappene korresponderer nå med en «sinnstilstand» hos figuren vår, happy, neutral og sad.
  14. RektangelLag et nytt Graphic Symbol, som du kaller rectangel. Tegn et gult rektangel med svart kantstrek, som du plasserer i midten ved hjelp av Info paletten. Denne skal vi bruke om igjen i et par knapper, så pass på at du har plass nok til tekst inne i knappen.
  15. Info palettenLag en ny Button Symbol, med navn rectangle button.Trekk inn et Instance av rectangle fra Library paletten,og plasser det i midten ved hjelp av Info paletten.
  16. Keyframe i Over og Hit stateLegg til en Keyframe i Over-state og Hit-state
  17. Brightness = 40%Klikk og marker Over-state, i Effect paletten velger du Brightness = 40%
  18. 3 layere i hovedscenenGå tilbake til hovedscenen, og legg til to nye layere. Gi de navnene: faces, buttons og text.
  19. Velg face layeret og trekk ut et Instance av smiler fra Library paletten, til scenen.
  20. Scene1Velg buttons layeret og trekk ut to Instances av rectangle button fra Library paletten og plasser dem på hver sin side av smiler.
  21. Smiler
    I text layeret skriver du inn teksten How do you feel? og plasserer over alle elementene. I hver av knappene plasserer du tekstene, fortsatt i text layeret; better og worse
  22. Det neste vi må gjøre er å kontrollere humøret til figuren. Og til det bruker vi en action som heter Telltarget.
  23. Som jeg forklarte tidligere kan actionet TellTarget få elementene til å kommunisere med hverandre. TellTarget er en funksjon som kan virke på individuelle, navngitte Instances av et symbol.
  24. For å være på den sikre siden her: originalen til et symbol ligger i Library paletten. Og alle kopiene (Instances) vil reflektere alle forandringer vi gjør på originalen. Originalen er en 'parent' og kopiene er 'children'. Forandringer du gjør på et parent-element vil gjenspeiles i child-elementene. Det er altså en slags link mellom parent og child.
  25. Men vi kan forandre på noen av en kopi's attributter, som tint, alpha, brightness og størrelse.
  26. For at hvert Instance skal være unikt, må vi rett og slett bare navngi dem, eller som det heter 'Instantiate'
  27. Instance palettenI scene 1, klikk på smiler, få fram Instance paletten. Paletten forteller oss at dette er et Instance av symbolet smiler, og at det er et movie clip. Skriv inn face i name-feltet.
  28. Fordi vi nå har gitt dette spesifikke Instancet av smiler et navn, vet Flash nok om det til at vi kan kontrollere det direkte. Flash vet at dette Instance't kalles face, og kan nå behandle det separat fra andre Instances av smiler vi eventuelt bruker i animasjonen. Vi kan dessuten gi kommandoer til dette ene unike Instance't, på samme måte som med merkelappene vi så på på forrige side.
  29. Dette face Instancet skal være mottageren i vårt TellTarget actionscript.
  30. Slik det er nå, spilles smiler uavbrutt hvis vi forhåndsviser animasjonen - mens vi vil at den skal stå på neutral inntil den får beskjed om å gå til happy eller sad.
  31. Vi gjør det ved å kontrollere smiler Instancets (face) nåværende frame attributt.
  32. Gi navnet initialize i Frame palettenI Scene 1, legg til et nytt layer som du kaller control. Klikk og marker første frame, i Frame paletten gir du denne Frame'n navnet initialize.
  33. Dobbeltklikk på Frame 1 i control-layeret for å få fra Action paletten.
  34. Kikkertsikte nederst i palettenI Action paletten dobbeltklikker du på TellTarget. I bunnen av paletten vil det nå dukke opp en tekstboks, som spør 'hvilket instance vil du kontrollere med denne TellTarget-kommandoen?'. Her kan du skrive inn navnet på det Instance't du vil kontrollere, eller du kan klikke på det lille kikkertsiktet nederst i høyre hjørne av paletten.
  35. Finn riktig InstanceHvis du klikker på kikkertsiktet dukker det opp en ny dialogboks. her finner du en oversikt over alle Instances som har blitt Instanciated, eller fått navn. Marker face og klikk OK
  36. Nå har vi siktet oss inn på riktig element, nå må vi fortelle hva den skal gjøre.
  37. Vi vil at den skal starte på neutral, og så gå til happy hvis vi klikker på better-knappen, eller gå til sad hvis vi klikker på worse-knappen
  38. innstillinger nederst i palettenDobbeltklikk på Go To action'et. Nederst i action paletten velger du Scene=current scene, type = Frame label, frame = neutral og ta vekk Go to and play
  39. Det vi sier her er at i denne scenen skal vi gå til Frame Label med navn neutral og stoppe.
  40. kodevisningDet siste vi må legge til er en stop kommando. Vi vil at når vi spiller av hele animasjone skal den stoppe på frame 1 i animasjone og stå og vente på beskjed. Klikk på den nederste krøllparantesen i scriptvinduet, og dobbeltklikk på Stop.
  41. Så var det knappen. Når vi trykker på better skal ansiktet smile.
  42. Klikk og marker knappen med teksten better.
  43. Åpne/lukk action paletten med denne knappenI Instance paletten klikk på den lille pilen til nederst til høyre i paletten. Denne åpner eller lukker Action paletten.
  44. Når vi klikker på knappen skal vi gå til happy merkelappen på smilers Timeline
  45. On release Tell target face, go to current scene with frame label happy and stopI Action paletten, dobbeltklikk på tellTarget, skriv inn face (eller bruk kikkertsiktet), dobbeltklikk på Go To, og velg current scene, Frame label, skriv inn happy og ta bort krysset i Go to and play
  46. Onrelease telltarget face framelabel sad go to and stopGjør det samme for den andre knappen, men bytt ut happy med sad.
  47. Lagre og test (F12)

Neste sideGå til neste side hvor vi skal se på de mest brukte Action'ene