, as3 101: variabler - basix,,,,, 2,,,,,,,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet as3 101.as3 101: funktioner – basix, to gange om måneden, kan vi se på nogle af vores læsere favorit stillinger fra hele historien om activetuts +.denne klassiske forelæsning blev offentliggjort første gang i juni 2009, og som var den første i, hvad der er blevet en forbløffende serie.,, det er begyndelsen på en række, der vil gå igennem nogle af de koncepter, der er grundlæggende for programmering, som de finder anvendelse på actionscript 3,0.for at give det væk, så kan vi tale om variabler,.,,,, as3 101, tut sigter direkte på dem, der har ringe eller ingen scripting erfaring, men hvis du har brugt variabler uden virkelig kommer i vanskeligheder i datatyping og støbning, vil du følge med. tak også til davide di stefano for at give os mulighed for at tale med sin ikon.,, indførsel, i løbet af de næste skridt, og vi vil bygge et enkelt eksempel, hvis vigtigste træk er den række af knapper, der optræder som en gruppe.de udvalgte knap har et andet udseende, det kan ikke blive slået til igen og udseende er tilbage til deres oprindelige tilstand, når en anden knappen er trykket.vi skal bruge en variabel, der kan følge med i, hvad der foregår.,, trin 1: hvad er variabler?første ting først: lad os definere, hvad en variabel.hvis du husker high school matematik, de husker måske, at variabler er "stå" værdier.det er det, de er symboler (normalt enkelt breve, som "x" eller "e" og "m" i einsteins e = mc2), som repræsenterer en numerisk værdi.det er underforstået, at værdien kan ændres afhængigt af andre faktorer i en ligning, i programmeringen, en variabel er præcis det samme, med to vigtige undtagelser.først i programmeringen, en variabel kan have mere end bare et nummer.det kan holde en sekvens af tekst tegn (kaldet "streng"), kan det være sandt eller falsk (kaldet "boolean"), eller den kan holde noget meget mere kompliceret, som en date, en xml - dokument eller en film magasin. den næststørste forskel med matematik er, at programmeringen variabler som regel har de navne, snarere end blot en enkelt skrivelse navn.der er undtagelser, selvfølgelig: "x", "y" og "z" anvendes ofte til reference holdninger og "jeg" bruges ofte betegner den nuværende udgave i et loop.et navn, som er relevante for den værdi, der opbevares ikke kun er fælles, men også hjælp i at holde dit program læselig.for eksempel, hvis du ville holde styr på, hvor mange partikler, du har på skærmen, kan du kalde din variable "particlecount" eller "totalparticles.", som de to variabler, nye variabler har potentiale til at blive ændret i løbet af programmet.hvis du f.eks. startede med 10 partikler, variable "particlecount" ville have den numeriske værdi af 10.men hvis du skabte 10 mere partikler, variable så ville have den numeriske værdi af 20.det er et af de centrale elementer af variabler.har du et navn, at henvisninger til en værdi i sig selv, men værdien er ikke nødvendigvis vil være den samme, hver gang du få adgang til det.det er en mystisk, men kraftfulde aspekt af variabler.du skal lære at sætte pris på det, selv om det er forvirrende på. at opsummere denne definition, en variabel er dybest set en beholder, som de tildeler et navn, og som de har værdi.du kan altid få den værdi, der er anført i af referencer til de variable ved navn, og du kan få en ny værdi i beholderen, på et punkt.hver gang du adgang til variabel ved navn, du får, aktuelle værdi er indeholdt deri.for yderligere oplysninger, kan de se, hvad wikipedia har at sige om variabler,.,, trin 2: om en variabel, nok teori, lad os komme til at arbejde med at gøre variabler.skabe en ny flash - dokument (actionscript 3, 0).klik på det første billede af det første lag (det bør være den eneste ramme).,, åbne aktioner panel ved at vælge vindue > aktioner (eller presning f9 på vinduer og opt-f9 på mac). i aktioner panel, type:, var besked,,, på dette punkt. den varible er angivet.det betyder, at beholderen findes, men i øjeblikket ikke har nogen tilknyttede værdi. det er et minimum, du er nødt til at erklære en variabel.ordet "var" er kendt som, nøgleord, betyder at det er forbeholdt actionscript sprog og har en særlig betydning.i dette tilfælde er det erklærer en variabel.det skal følges op af den variable navn vil du bruge, hvis du ikke følger var nøgleord, med en variabel navn, så får du en fejl, når du prøver at teste film.,, trin 3: navngive din variabler, der er et par regler du skal følge, når der nævnes din variabler.nogle håndhæves af actionscript arbejdshygiejne, andre er bare konventioner, som, når de følges op, hjælpe dig og andre være bedre for din kode. for det første actionscript sprog siger, at du må kun bruge visse tegn på deres variable navn.disse er alle alfanumeriske tegn (bogstaver og tal), understreger og dollartegn.enhver anden karakter (bindestreger, rum, perioden osv.) er ikke tilladt.dette er sædvanligvis, fordi mange andre tegn, har særlig betydning i actionscript., actionscript pålægger også reglen om, at den variable navn må ikke begynde med et nummer.tal er dog tilladt efter den første karakter. det er også nævne, at actionscript er fortrolige, hvilket betyder, at du skal svare til det brev, er tilfælde, hvor der henvises til en variabel.med andre ord, i variablen "budskab" er ikke det samme som den variable "budskab".det kan virke konkurrencebegrænsende, som først, men rent faktisk er der gode grunde til at håndhæve dette.rummet ikke tillade en debat om disse årsager.for nu, bare lære at skrive deres variable navne præcist det samme hver gang, man ønsker at bruge dem, actionscripting samfund er kommet til en generel enighed om, hvordan der skal navngive din variabler, selv om følgende regler er mere konventioner og retningslinjer, i stedet for at blive håndhævet af actionscript. til at begynde med, - bruge beskrivende navne.det er en slags selv - at dokumentere teknik.hvis du hedder din variable "besked," det er sandsynligt, at du allerede har en idé om, hvordan den tiltænkte rolle af de indeholdte værdi.hvis det bare var "m", så er det langt mindre tydeligt.det er fristende at bruge forkortet variable navne, og mens du er i første omgang at skrive manuskriptet, det kan betyde mindre maskinskrivning og giver mening.den næste person til at se på din kode, eller de selv seks måneder senere, vil sandsynligvis være forvirret. en anden konvention, er anvendelsen af kamel - sagen. det er en teknik for, at to eller flere ord i et enkelt ord.kan du huske, at du ikke kan bruge rum (eller andre hvide rum, for den sags skyld) i jeres navne, så hvis du vil bruge udtrykket "samlede antal partikler," du er nødt til at finde en måde at slippe af med det sted. "totalparticles "virker, men adskillelsen mellem ordene er tabt.kamel, er en metode til kapitalisering, som siger, at hele ordet er lavere - sagen, undtagen for det første bogstav i hvert ord, med undtagelse af det første bogstav i det første ord.med andre ord, anvendelse af kamel - sag "samlede antal partikler" resultater "totalparticles". er der flere retningslinjer for valget af variable navne, men de bliver mere esoteriske herfra.for nu, huske på de ovennævnte regler, og du er på vej til en god start.wikipedia er et par artikler om emnet, herunder et kort afsnit i den tidligere i forbindelse med artikel om variabler i almindelighed, denne artikel om, at konventioner, og en kort artikel om en virkning til følge.en anden interessant læser er denne liste over dårlig variable navne, denne tilkendegivelse af de to værste variable navne og denne anekdote, der beskriver hvorfor nogensinde variable navne.,, trin 4: at fastsætte en værdi, nu hvor vores variabel er erklæret, at vi kan sætte en pris på det.på den næste række aktioner panel, type følgende kode: budskab = "hallo", starter vi med at bruge den variable ved navn.så vi følger det med et lighedstegn, der er kendt som, opgave operatør.efter det, vi har en officiel sekvens af tegn, der slutter med et semikolon, der er bare den måde, du linjer i actionscript - - du vil se en masse om afslutning af semikoloner i code). den opgave operatør kræver, at der gøres noget på hver side af det.det virker ved at tage værdien i højre side ("goddag", i dette tilfælde) og sætte det ind i den variable i venstre side (meddelelse). hvis vi skulle løbe denne kodeks, ville vi have en variabel, der hedder "budskab", som indeholder en værdi af "hej." det er ikke at gøre noget andet, så der er intet at se på nuværende tidspunkt, men det kan være en god idé at afprøve den film for at sikre, at du ikke får nogen fejl, i tilfælde af at du skrevet noget forkert i., det skal se ud som hidtil:,, løntrin 5: den værdi, vi nu har en ved navn), som har en værdi i det.lad os få adgang til denne værdi.i dette tilfælde vil vi kun spore den værdi, at produktionen panel. på en ny linje kode, skriv følgende:, trace (meddelelse), hele manuskript vil se sådan ud:,, som de ved, hvad du går til spor funktion kræver det i mellem parenteser og sætter i produktionen panel.når du prøve den film, du skal se produktionen panel åbner automatisk og værdien af det budskab, variabel ("hallo" uden citater) trykt det.,,, når du bruger den variable ved navn, og det er ikke at sætte det på venstre side af opgaven operatør (lighedstegn), beder actionscript for at få den værdi, der er anført af den variable og anvendelse af denne værdi.det hedder, at evaluere den variable.,, trin 6: at manipulere værdi, så lad os bevise, at vi kan få de forskellige værdier i samme beholder.den næste linje, lad os fastsætte værdien af budskabet variable igen: budskab = "hvordan har du det?"; og så på linjen, efter at spore det igen:, trace (meddelelse), hele manuskript vil se sådan ud:,, løb den film, og du skal have to spor:,, bemærker, at linjerne 3 og 5 er identiske – begge spor besked, men de giver forskellige resultater!hver gang vi beder om meddelelse spores, den nuværende værdi af den variable er evalueret, og der anvendes.for det første bliver sat til at "hallo", og at der dukker op i output - panel.efter at vi sætter den til "hvor er du?"og så dukker op i produktionen panel. det er ikke raketvidenskab, men dette er en af de andre aspekter af anvendelse af variabler.hvis du kan klare det, du vil være godt på vej til at blive en actionscript guru.,, trin 7: forståelse datatypes, actionscript støtter noget, der hedder, stærke ord,.det er en interessant sprog kun, at det er stærkt maskinskrevet, hvis du fortæller det til at være det, og det kan være stærkt skrevet på visse punkter og svagt skrev i andre.der er noget, der taler for at lette anvendelsen af et svagt skrevet sprog, men det mest alvorlige programmører, vil være i stand til at tale et par timer på grundlag af stærke ord.så, hvad er det?stærk maskinskrivning betyder blot, at når vi erklærer en variabel, kan vi også gøre det, art, værdi kan blive sat ind i det.det er, hvis vi siger, at vores budskab variabel kan kun indeholde en snor (som det sker for at gøre det i øjeblikket), hvis vi forsøgte at sætte et nummer og dato i det, actionscript vil klage i form af en fejl.forårsager fejl kan virke som en hindring, men når du får computeren til at fange din fejl, du rent faktisk ender med at spare tid.svagt at skrive dit variabler vil undgå de fejl, men måske kunne logiske fejl (f.eks. forsøger at store et antal), i hvilket tilfælde der kan fejle uden advarsel.giver mulighed for de fejl ved kraftigt at skrive din kode faktisk redder dig i det lange løb. en datatype er i en nøddeskal, typen af data, som en værdi.det er de værdier, der kan være en snor, en række, en boolean, en dato, en xml - dokument, en film. og mange flere indbyggede former - typer, du skaber.vores budskab variabel er implicit af typen string (note kapital "s"), så lad os gøre det type eksplicit.vi vil gøre vores kode stærkt skrevet af decalring en datatype.tilbage på den første linje kode, hvor vi erklærer det budskab, variable, ændre det at læse:, var budskab: string, tyktarm, præciseres det, at det handler om at følge en datatype, og så skal du se datatype selv.alt indbygget datatypes starter med store bogstaver, og det er en fælles overenskomst for skik datatypes så godt.vi kommer ikke til at skrive skik datatypes, men, hvis du løber koden på dette punkt, så skal du se, at det fungerer præcist det samme. for en længere debat om datatypes og stærke ord, gå over på wikipedia.,, trin 8: forårsager en fejl, men vi kan illustrere, hvordan stærke ord værker af forsætligt forvolder en fejl.lad os tilføje endnu en kode, idet den variabel, endnu en værdi.denne gang vil vi forsøge at sætte et nummer på den i stedet for en snor.til sidst, type: budskab = 42 spor (meddelelse), teste film, og du skal se følgende fejl:, 1067: indirekte tvang af en værdi af typen int til en ikke - forretningsmæssigt forbundne type snor.,, sproget er lidt gammeldags, men det betyder blot, at vi har en nummer (eller "int") værdi, og vi prøvede at sætte det ind i en variabel, der tidligere blev erklæret, at kun indeholde strenge. lad os kaste en anden fejl.slette de to linjer kode, du lige tilføjes, og erstatte dem med følgende linje:, isnan (meddelelse), og kør filmen.du skal have følgende fejl:,, isnan() funktion forventer et nummer til overføres til det i parentes (nan betyder ikke et nummer, som er en særlig værdi, et antal, der faktisk ikke har en værdi.denne funktion test for det tilfælde).da vi er på vej i en snor, vi får det omvendte fejl af, hvad vi havde før. at bemærke, at hvis du fjerner den snor datatype fra de variable og derefter køre disse to forsøg, får du ikke en fejl.den kode, faktisk vil gennemføre, og i dette tilfælde manglende datatyping er ikke så stort et problem.i større projekter under denne form for forsikring kan forebygge fejl og insekter, der bringer hele din film.,, trin 9: skabe en knap, det burde være nok til en indledning, og lad os se en konkret anvendelse af variabler i aktion.vi vil nu begynde at knap gruppe viste eksempel ved starten af denne forelæsning., skabe en ny actionscript 3 - fil og skabe en kunst at tjene som en knap.gør det til en film magasin.,, trin 10: skabe fire tilfælde trækker symbol på trin fire gange, så er der fire tilfælde af knappen.det er ikke nødvendigt for funktionen af filmen, du måske ønsker at arrangere dem i en række øverst på scenen.giv hver en instans navn ved at klikke på hver for sig og skrive navn på instans navn inden for egenskaber panel. jeg har opkaldt mine knapper "button1", "button2", "button3" og "button4." for enkelheden i følgende sammen med den kode, være konsekvente og bruge mit navn.,, trin 11: skabe en tekst inden, under rækken af knapper, skabe en dynamisk tekstfelt, giv det en instans navn ("output") og fortsætte og gøre det så stort, som passer på scenen.formålet med denne tekst område vil være at registrere navnene på de knapper, som de er sammen.vi har ikke brug for meget horisontale rum, men skal have så megen lodret rum som muligt.,, trin 12: "klik lyttere, skabe et nyt lag, til at holde din kode, lås det og så klik i rammen for, at lag.åbne aktioner panel.skriv følgende kode til en indsats for at tage museklik for hver knap:, button1. addeventlistener (mouseevent.click, buttonclick); button2. addeventlistener (mouseevent.click, buttonclick); button3. addeventlistener (mouseevent.click, buttonclick); button4. addeventlistener (mouseevent.click, buttonclick); funktion buttonclick (ref.: mouseevent):. {spor ("klik");}, for nu, de faktiske foranstaltninger, der er truffet i forbindelse med et klik er ubetydeligt, men det er nok for os til at prøve.hvis du har gjort alt rigtigt så langt, du burde være i stand til at teste film og klik på hvert af de fire knapper.hver gang du noget, du vil se "klik" dukker op i produktionen panel.,, trin 13: forståelse af begivenhed. mål, du kan tænke over, hvordan vi vil gennemføre vores mål med kun en enkelt funktion.hvordan vil det fungere, reagere hensigtsmæssigt for hver af de fire forskellige knapper?, uden at gå i detaljer i tilfælde paradigme om actionscript 3, alle funktioner, der fungerer som en begivenhed efter begivenhed vil modtage et objekt som en parameter.der er flere typer tilfælde objekter fra regelmæssig begivenhed, som mouseevents til keyboardevents til progressevents og mere, men hvert tilfælde genstand vil have nogle fælles træk.en af de mest nyttige af disse er "target" ejendom.hvert tilfælde formål definerer mål ejendom, der peger på, at det, der faktisk forårsaget tilfælde. - kan vi se, hvilken knap var sammen med adgang til målet for mouseevent i funktion.det at se i aktion, ændre funktion indhold:, trace (ref. målet. navn), hele manuskriptet ser sådan ud:,, rerun filmen og klik på knapperne igen.du skulle se det relevante navn dukker op i produktionen panel. det virker, fordi, hvis formål er afholdt i variablen "begivenhed". dette mål er en ejendom (en ejendom er dybest set en variabel, bortset fra at det tilhører en genstand), kaldet "mål", og ved hjælp af dot syntaks, vi kan få adgang til målet med variabel fra tilfælde variabel.målet er filmen magasin, der rent faktisk blev slået og forårsaget tilfælde.ved at få adgang til navn ejendom af filmen klip, vi kan komme med en angivelse af, hvilken knap var faldet til at trykke på output - panel.,, punkt 14: produktion på knappen navn, lad os nu faktisk gør noget, når knappen er trykket.vi vil sætte knap hedder i teksten.der tilføjes følgende til buttonclick funktion (i stedet for, hvis du har lyst, spore erklæring), produktion. appendtext (event.target.name + "), n"); output.scrollv = produktion. maxscrollv; den første linje er navnet på den valgte knap i teksten.den appendtext() metode vil tage den nuværende tekst og supplere det.vi vil sætte en newline karakter ("), n") ved udgangen af den ekstra tekst for at sikre, at den næste del af teksten yderligere, vil blive en ny linje. den anden linje er sikker på, at den sidste linje i teksten er altid synlige.i en nøddeskal, denne linje er skriftrullen beløb (som tekstlinie er på toppen af den synlige overflade), til det maksimumsbeløb, der er baseret på, hvor mange linjer.,, trin 15: skabe en udvalgt, huske på, at vores mål er at gøre det sammen på de udvalgte knap, så vi vil visuelt repræsenterer.let at foretage en visuel ændring til knap, vi sætter alfa til noget, der er lidt gennemsigtig. i stedet for det spor erklæring med følgende: event.target.alpha = 0,7;, alpha ejendom af en film magasin tilpasser den gennemsigtighed og varierer fra 0 til 1, 1 fuldstændig uigennemsigtig.derfor er 0, er noget, som er 70% uigennemsigtige, eller 30% gennemsigtige., kør film og tryk på en knap.du skulle se det.vi har naturligvis stadig en del at gennemføre, når en knap, opnår de udvalgte det forbliver sådan, trin 16: deaktiver begivenhed. mål, vil i se, at hvis du klikker på en knap, og du kan fortsætte med at klik på det, som det fremgår af navnet, dukker op, hver gang du knipser.vi vil have noget, der ligner en gruppe regning knapper, hvor en knap, der i øjeblikket er udvalgt, kan ikke være sammen.vi kan nemt gøre dette ved at fastsætte mouseenabled ejendom af den for nylig sammen knap (stadig begivenhed. target) til falsk. event.target.mouseenabled = falske, hele manuskriptet på dette punkt skal have følgende:,, skridt 17: variabel til at holde den nuværende knap, så vidt vi har fået en god start. men mens den knap er at reagere hensigtsmæssigt, når vi på det første gang, vi har spørgsmål efter det.den knap er strandet i de udvalgte stat, og det er aldrig tilbage til den normale tilstand, når en anden knappen er trykket, nu kan vi indføre den variabel, der kan løse alle vores problemer.vi har brug for en variabel, som vil indeholde de film magasin, at det i øjeblikket er udvalgt knap.ved at opbevare det i en variabel, oplysninger om, hvilke knap i øjeblikket er udvalgt, kan vare fra klik sammen. vi kalder det "currentbutton", og vi skal give det en datatype af movieclip.på toppen af manuskriptet, skrive denne linje:, var currentbutton: movieclip;,, gå 18: variablen begivenhed. målet nu, hver gang vi tryk på en knap, vi vil finde, at knap i currentbutton variabel, således at der på et givet tidspunkt ved vi, hvilken knap er det nuværende en.det er gjort med følgende ændringer til buttonclick funktion:, currentbutton = event.target som movieclip; meddelelse ", som movieclip" i den foregående kodeks.vi vil dække over alle de slibrige detaljer her, men det er en nødvendighed på grund af stærk maskinskrivning.vores currentbutton variabel er angivet som en movieclip.men målet ejendom af tilfælde formål er angivet som et objekt, som er en meget generisk datatype.målet er defineret som et objekt, så det kan være generelle; mange ting kan skabe begivenheder, og målet er ikke nødvendigvis altid være en movieclip.problemet er, at de to datatypes stemmer ikke overens med; vi er lovende, at kun movieclips vil gå ind i currentbutton variabel, men vi prøver at sætte en genstand. det bedste, vi kan gøre, er at gå ud fra, at tilfælde er målet, er i virkeligheden en movieclip, og så vi udføre en, støbte, på det."som" erhvervsdrivende, finder den værdi, til venstre og behandler det, som om det var i datatype specificeret til højre.den antagelse, er rimelig, da den kode, er inde i en funktion, der bør kun blive kaldt, når brugeren km på en movieclip, og at movieclip skaber mouseevent., konstaterer, at den støbning, er ikke uden problemer.det største problem er i form af en "det kan ikke være mig en ære.for eksempel, hvis vi forsøger at kaste vores event.target som en xml - objekt, så det ville ikke arbejde, ville det?movieclips og xml - genstande har meget lidt til fælles.når gipsen er forsøgt, ville vi få en tom værdi tilbage, hvilket efterlader os med en brækket program.hvis vi er heldige, får vi en runtime fejl at sige, at besætningen kan ikke opfyldes, hvis vi er uheldig, vi henter tom værdi og er tilbage, hvorfor tingene gik ikke som planlagt, casting bør undgås, hvis de ikke er nødvendige, men i visse tilfælde (som denne er det ret meget. den eneste mulighed.hvis vi ikke stemmer for de mål, vi ville få en anden fejl.prøv det, hvis du vil se, hvad der sker.,, skridt 19: anvendelse currentbutton, mens det ikke er strengt nødvendigt, kan vi lige så godt bruge vores nye currentbutton variabel i stedet for event.target i kroppen af funktionen.det er ikke nødvendigt, fordi, mens vi er i funktion, vi har adgang til event.target og vores kode virker fint uden at foretage følgende ændringer.der er imidlertid to tvingende grunde til at få for vane at anvende maskinskrevet (og kastede, hvis nødvendigt) variabler, hvor det er muligt. den første grund er den primære årsag.som nævnt i det sidste skridt til støbning, event.target ikke er skrevet som en movieclip.men vi ved, at det er det, så vi stemmer som sådan.tænk tilbage til trin 9, hvor vi bevidst skrev en variabel, som én ting og prøvede at bruge det som en, der har forårsaget af fejl.hvis vi nu gå og fortælle de variable currentbutton fastsætte sin alpha - 0,7, currentbutton er en movieclip og movieclip har et alpha ejendom, og alt er godt.hvis vi har forsøgt at fastsætte, aplah, ejendom (det sker oftere, end du tror, flash ville klage over det, og lad os vide, og vi vil være i stand til at rette vores fejl hurtigt.ved hjælp af event.target (som er en meget generisk, som skrev variabel), kan det tage længere tid at finde fejl. den anden grund har at gøre med resultater.i dette særlige tilfælde, vi kommer ikke til at se enorme gevinster fra ved hjælp af et maskinskrevet variabel i stedet for event.target.i actionscript 3, det er hurtigere at anvende en værdi af en enkelt maskine variabel, som det er ud af en untyped ejendom (som event.target er).i kritiske anvendelser af dette kunne give dig et par ekstra forarbejdningsvirksomhed cyklusser. så i dette skridt, vi skifter simpelthen ud forekomster af event.target med currentbutton, efter at det er blevet fastsat, din kode bør se noget som følgende:,, gå 20: deseiect det gamle nuværende knap, nu hvor vi har en variabel angives og har en værdi, vi kan bruge det til at genoprette det visuelle indtryk af den tidligere valgte knap.det er, hvis du klikker på button1 og det ændrer udseende, så klik på button2, vi ønsker at se button1 normale igen. den næste del af kode skal ske, før vi sætter currentbutton variabel.ellers vil vi være i den nuværende, ikke tidligere, button, currentbutton.alpha = 1; dette vil genoprette den tidligere knap er udseende, men vi vil ikke være i stand til at se det.vi har slået det ved at fastsætte sin mouseenabled ejendom til falske, så vi kan gøre det ved at sætte den tilbage til ægte.denne kode umiddelbart efter den sidste bid kode, vi skrev:, currentbutton.mouseenabled = sandt; koden skal se sådan ud:,, gå 21: check for ugyldig værdi, hvis du prøvede at filmen efter det sidste trin, du skal løbe ind i en runtime fejl med en "er genstand." det er actionscript er udtryk for, at en variabel ikke har en værdi før du forsøgte at gøre noget med det, hvad der skete, var, at da filmen starter, currentbutton variabel angives, men det har ingen værdi.det bliver kun en værdi, når man trykker på en knap.- når du tryk på en knap, buttonclick funktion løber, og det første, det gør, er at forsøge at sætte de alpha af, hvad der er i currentbutton.desværre er der intet i currentbutton og så "er genstand" fejl bliver kastet.på det punkt er manuskript henrettelse stopper, og så ender vi får aldrig et sted, hvor vi kan faktisk currentbutton. det er nemt undgås.vi er simpelthen nødt til at kontrollere, at currentbutton er ikke lig med nul, inden vi fortsætter.i stedet for de første to linjer: hvis (currentbutton) (currentbutton.alpha = 1; currentbutton.mouseenabled = sandt.}, uden at gå i detaljer, det er en betingelse, at kun løber erklæring efter parentesen, hvis erklæringen i parentes, har en værdi.med andre ord, hvis currentbutton er ikke blevet fastsat, så drop del om fastsættelse af alpha og tag med næste linje kode. her er den fulde kode i tekstform for reference:, var currentbutton: movieclip; button1. addeventlistener (mouseevent.click, buttonclick); button2. addeventlistener (mouseevent.click, buttonclick); button3. addeventlistener (mouseevent.click, buttonclick); button4. addeventlistener (mouseevent.click, buttonclick); funktion buttonclick (ref.: mouseevent): ugyldig (hvis (currentbutton) (currentbutton.alpha = 1; currentbutton.mouseenabled = sandt.} currentbutton = event.target som movieclip; spor (currentbutton. navn); produktion. appendtext (currentbutton.name + "), n"); output.scrollv = output.maxscrollv;currentbutton.alpha = 0,7; currentbutton.mouseenabled = falske}, på dette punkt, har du skabt en variabel.det har et navn og en datatype.den lagrer flere forskellige værdier over tid, således at der på visse punkter i gang, du kan spore den nuværende værdi og gøre noget ved det.du har lært om casting og hvorfor variabler er byggestenen i alle programmer af kompleksitet. jeg håber, du nød det begynder artikel, er fri til at gå, spørgsmål og holdninger i de bemærkninger, pkt.vi har mange flere tutorials planlagt for as3 101, række, så bliv hængende!,