Lag en fargerik Spinning Wheel i Flash Med AS3

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
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


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
fra Greensock nettstedet



Trinn 6:.. Set Hoved Class


Legg til klassenavnet, Main, til Class
feltet i Publiser
delen av Egenskaper
panel til knytte FLA med hoveddokumentet klasse



Trinn 7:. Opprett en ny Action Class


Opprett en ny (Cmd + N) Actionscript 3.0 Class og lagre den som Main.as
i klassen din mappe



Trinn 8:.. Class Struktur

Lag din grunnleggende klassestrukturen for å begynne å skrive koden din
pakke {import flash.display.Sprite; public class Hoved strekker Sprite {offentlig funksjon main (): void {//konstruktør kode}}}



Trinn 9: Må Classes

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
import flash.display.Sprite;. Import flash.display.Shape, import flash.events.MouseEvent, import flash.events.Event; import com.greensock. TweenMax;



Trinn 10: Variabler

Dette er de variablene vi vil bruke; lese kommentarene i koden for å vite mer om dem:
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

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
offentlig endelige funksjonen main (). Void {//code...}



Step 12: Låser Vector

Først vi legger til de ulike padle movieclips til vektoren, og legge til lytterne - vi vil skrive lytterne () -funksjonen neste
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

Denne funksjonen vil legge til eller fjerne lytterne i henhold til parameter. Muse Lyttere er satt til å trekke linjen som vil kontrollere hjulet
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

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
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

Mens musen beveges, fortsetter linjen i den retningen
privat endelige funksjon Drawline (e: MouseEvent):. void {line.graphics.lineTo (mouseX, mousey);}



Trinn 16: snurre hjulet

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
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

Dette er funksjonen som vil spinne hjulet og oppdage hvilken verdi den lander på:
privat endelige funksjon spin (e: Hendelses): void {/* Roter Wheel * /wheel.rotationZ + = hastighet;



Trinn 18: Oppdage Verdi

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; }}



Trinn 19:. Reduser Speed ​​

Hjulet hastighet reduseres hver ramme til slutt stoppe spinnende Twitter /* Redusere hastighet * /hastighet - = 0,1;


< h2> Trinn 20: Tilbake Wheel

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'); }}



Trinn 21: Sett Bar Color

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
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

Endre kode for å utføre dine egne handlinger!

Jeg håper du likte denne opplæringen, takk for lesing!



Next Page: