Create en fargerik Spinning Wheel i Flash med AS3 
 to 
 Del 
 8 
 Del 
 
 Denne Cyber Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av. 
 
 I denne opplæringen vil du lære hvordan du oppretter en rokk ved hjelp av Flash og AS3, med et grensesnitt som er egnet for både Mouse og touch-baserte enheter. 
 
 
 
Endelig resultat Forhåndsvisning
 La oss ta en titt på det endelige resultatet vi skal jobbe mot: 
 
 Klikk og dra musen vertikalt for å snurre hjulet; jo lenger den linjen du drar, jo raskere vil hjulet spinne! Når den stopper, vil den fargede linjen nederst vise fargen hjulet landet på 
 
Trinn 1:. Kort oversikt
 Ved hjelp av pre-laget grafiske elementer vi vil skape en fargerikt grensesnitt som vil bli drevet av flere Actionscript 3 klasser 
 
 Brukeren vil kunne snurre hjulet ved hjelp av en dra gest representert med en linje på skjermen.; en høyere linje vil gjøre en raskere spin 
 
Trinn 2:. Flash Dokumentinnstillinger
 Åpne Flash og skape et 500x300px dokument. Sett bildefrekvens til 24fps 
 
 
 
Trinn 3:. Interface
 
 
 En fargerik fint utseende grensesnitt vil bli vist, som består av flere former, movieclips og mer. 
 Den enkle figurer ble opprettet ved hjelp av Flash Pro tegneverktøy, og siden de er enkle å duplisere Jeg vil ikke forklare skaperverket sitt. Kontroller at hjulet rotasjonspunktet ligger i sentrum 
 
 Du kan alltid se på FLA i kilde laste ned filer 
 
Trinn 4:.. Forekomstnavn
 
 
 Bildet over viser  forekomstnavn     Vi vil bruke en annen tween motor enn standard en inkludert i Flash; dette vil gjøre fargen overgangen i colorMC symbol mye enklere   Du kan laste ned  TweenMax     Legg til klassenavnet, Main, til  Class     Opprett en ny (Cmd + N) Actionscript 3.0 Class og lagre den som  Main.as   Lag din grunnleggende klassestrukturen for å begynne å skrive koden din   Dette er de klassene vi trenger å importere for vår klasse til å fungere. Importen Direktivet gjør eksternt definert klasser og pakker tilgjengelig i koden   Dette er de variablene vi vil bruke; lese kommentarene i koden for å vite mer om dem:   Konstruktøren er en funksjon som kjøres når et objekt er opprettet fra en klasse, og er den første som skal utføres når du foreta en instans av et objekt. Siden dette er vår dokumentet klasse, vil den kjøre så snart SWF laster   Først vi legger til de ulike padle movieclips til vektoren, og legge til lytterne - vi vil skrive lytterne () -funksjonen neste   Denne funksjonen vil legge til eller fjerne lytterne i henhold til parameter. Muse Lyttere er satt til å trekke linjen som vil kontrollere hjulet   Den neste funksjonen starter å lage en linje basert på gjeldende musen posisjon, og plasserer den på scenen. Det er utløst når musen klikkes   Mens musen beveges, fortsetter linjen i den retningen   Den neste kode kjøres når museknappen slippes, etterbehandling linjen. Tegningen lyttere er fjernet for å unngå å trekke flere linjer, og hastigheten blir beregnet i henhold til høyden av linjen. Til slutt blir en enterframe arrangement som heter å faktisk roter hjulet   Dette er funksjonen som vil spinne hjulet og oppdage hvilken verdi den lander på:   Her har vi oppdage den nåværende verdien av hjulet basert på den siste åre det rørte Twitter /* Detect Verdi * /for (var i: int = 0; i < 10; i ++). {if (indicator.hArea.hitTestObject (padleåre [i])) { lastPaddle = paddles [i] .name; }}   Hjulet hastighet reduseres hver ramme til slutt stoppe spinnende Twitter /* Redusere hastighet * /hastighet - = 0,1;   Alle verdier tilbakestilles når hjulet stopper. En funksjon som skal kjøre en handling i henhold til den endelige verdien kalles Twitter /* Fjern lytteren og nullhastighet når hjulet stopper * /if (hastighet < = 0). {Stage.removeEventListener (Event.ENTER_FRAME, spin); speed = 0; setBarColor (lastPaddle); lyttere ('add'); }}   Denne funksjonen vil kjøre en egendefinert handling i henhold til den siste verdien av hjulet. I dette tilfellet endrer det farge på bunnlinjen, men du kan gjøre det gjøre noe annet   Endre kode for å utføre dine egne handlinger!   Jeg håper du likte denne opplæringen, takk for lesing! 
 av de ulike movieclips. Vær spesielt oppmerksom på de wheel.p movieclips; disse er de små svarte linjer som deler fargene i hjulet, og er  inne 
 hjulet MovieClip. De er oppkalt p1 til p10, går med klokken 
 
 
 Trinn 5:. TweenMax 
 
 
 
 fra Greensock nettstedet 
 
 
 Trinn 6:.. Set Hoved Class 
 
 
 feltet i  Publiser 
 delen av  Egenskaper 
 panel til knytte FLA med hoveddokumentet klasse 
 
 
 Trinn 7:. Opprett en ny Action Class 
 
 
 i klassen din mappe 
 
 
 Trinn 8:.. Class Struktur 
 
 pakke {import flash.display.Sprite; public class Hoved strekker Sprite {offentlig funksjon main (): void {//konstruktør kode}}} 
 
 Trinn 9: Må Classes 
 
 import flash.display.Sprite;. Import flash.display.Shape, import flash.events.MouseEvent, import flash.events.Event; import com.greensock. TweenMax; 
 
 Trinn 10: Variabler 
 
 private Var hastighet: Antall = 0; //den aktuelle hastigheten på wheelprivate Var padleåre. Vector < Sprite > = New Vector. ≪ Sprite > (); //en vektor som holder p1, p2 etc MCs i stageprivate Var linje: Shape; //linjen trukket som gest for å flytte wheelprivate Var lastPaddle: String; //vil oppdage den nåværende verdien av hjulet 
 
 Trinn 11: Constructor 
 
 offentlig endelige funksjonen main (). Void {//code...}
Step 12: Låser Vector 
 
 offentlig endelige funksjonen main (). void {paddles.push (wheel.p1 , wheel.p2, wheel.p3, wheel.p4, wheel.p5, wheel.p6, wheel.p7, wheel.p8, wheel.p9, wheel.p10); lyttere ('legge');} 
 
 Trinn 13: Lyttere 
 
 private endelige funksjons lyttere (action: String): void {if (handling == 'legge') {stage.addEventListener (MouseEvent.MOUSE_DOWN, startDraw);. stage.addEventListener (MouseEvent.MOUSE_UP, spinWheel); } Else {stage.removeEventListener (MouseEvent.MOUSE_DOWN, startDraw); stage.removeEventListener (MouseEvent.MOUSE_UP, spinWheel); }} 
 
 Trinn 14: Movement Linje 
 
 privat endelige funksjon startDraw (e: MouseEvent): void {linje = new Shape ();. addChild (linje); line.graphics.moveTo (mouseX, mousey); line.graphics.lineStyle (8, 0x000000, 0,3); //du kan endre linjefargen og stil her stage.addEventListener (MouseEvent.MOUSE_MOVE, Drawline);} 
 
 Trinn 15: Tegn linje 
 
 privat endelige funksjon Drawline (e: MouseEvent):. void {line.graphics.lineTo (mouseX, mousey);} 
 
 Trinn 16: snurre hjulet 
 
 private endelige funksjon spinWheel (e: MouseEvent):. Void {stage.removeEventListener (MouseEvent.MOUSE_MOVE, Drawline); lyttere ('rm'); speed = line.height * 0,1; removeChild (linje); linje = null; stage.addEventListener (Event.ENTER_FRAME, spin);} 
 
 Trinn 17: Roter hjulet 
 
 privat endelige funksjon spin (e: Hendelses): void {/* Roter Wheel * /wheel.rotationZ + = hastighet; 
 
 Trinn 18: Oppdage Verdi 
 
 
 Trinn 19:. Reduser Speed 
 
 < h2> Trinn 20: Tilbake Wheel 
 
 
 Trinn 21: Sett Bar Color 
 
 funksjon setBarColor. (Action: String): void {switch (handling) {case 'p1': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0xF15D5D, tintAmount: 1}}); gå i stykker; case 'p2': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0xC06CA8, tintAmount: 1}}); gå i stykker; case 'p3': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0x644D9B, tintAmount: 1}}); gå i stykker; case 'p4': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0x5E98C6, tintAmount: 1}}); gå i stykker; case 'p5': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0x4789C2, tintAmount: 1}}); gå i stykker; case 'p6': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0x55C4CB, tintAmount: 1}}); gå i stykker; case 'P7': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0x57BC80, tintAmount: 1}}); gå i stykker; case 'p8': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0x90CC6C, tintAmount: 1}}); gå i stykker; case 'P9': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0xEBE666, tintAmount: 1}}); gå i stykker; case 'p10': TweenMax.to (colorMC, 0.5, {colorTransform: {tint: 0xF29C69, tintAmount: 1}}); gå i stykker; }} 
 
 Konklusjon 
 
 

