Create en Dra og slipp Puzzle i Actionscript 3.0 
 13 
 Del 
 3 
 Del 
 
 Denne Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av. 
 
 Dra og slipp er virkningen av å klikke på en virtuell objektet og dra det til et annet sted eller på en annen virtuell objekt. Generelt kan det brukes til å påberope mange typer av handlinger, eller lage ulike typer assosiasjoner mellom to objekter. 
 
 I denne opplæringen vil vi skape en dra og slipp matchende spillet ved hjelp av Actionscript 3. 
 < p> 
 
 Trinn 1: Kort oversikt 
 
 Ved hjelp av Actionscript 3, vil vi gjøre flyttbare movieclips som vil bli droppet i MovieClip mål, vi skal sjekke hvis målet korrekt ved hjelp av hitTestObject metoden 
 
 Trinn 2:.. Starte 
 
 Åpne Flash og opprette en ny Flash-fil (Actionscript 3) 
 
 Sett scenen størrelse til 450x300 og legge en svart bakgrunn (# 1B1B1B) 
 
 Trinn 3:.. Drabare Klipp 
 
 Vi trenger noen movieclips å dra, jeg har brukt noen av de Envato Market logoer 
 
 konvertere dem til movieclips og sette sine forekomstnavn: 
 
 Trinn 4: Drop Target 
 
 En MovieClip vil bli brukt som en dråpe mål for hver flyttbare klipp, vil et enkelt rektangel gjøre jobben. 
 
 Konverter rektangelet MovieClip og kopiere det (Cmd + D) for å matche antall flyttbare gjenstander. 
 
 De forekomstnavn vil være navnet på den flyttbare klipp, pluss  Target   La oss legge til noen guider for å hjelpe brukeren å finne ut hva å gjøre.   En tittel som vil fortelle brukeren  hva   Et ikon for å fortelle brukeren  hvor   nøkkelord for å fortelle brukeren  der   Opprett en ny Action Document og lagre det som "Main.as"   Denne gangen trenger vi bare et par klasser   Vi kommer til å bruke Sprite spesifikke metoder og egenskaper, slik at vi utvider med Sprite Class   Dette er de variablene vi vil bruke, forklarte i kommentarfeltet   Denne funksjonen utføres når klassen er lastet   En funksjon for å få den posisjonen de movieclips, vil dette hjelpe oss tilbake MC til sin opprinnelige posisjon når dråpen målet sitt feil eller no drop målet ble truffet   Denne funksjonen gjør det mulig å dra til klippet med lytteren   Den neste funksjonen stopper å dra når museknappen slippes, det sjekker også om objektet er i riktig dråpe målet.   Legger lytterne til klippene i parameterne ved hjelp av ... resten argument   Gå tilbake til FLA filen og i Properties Panel legge til "Main" i klassen feltet for å gjøre dette til dokument Class   Nå vet du hvordan du enkelt kan lage en dra mål, kan dette være svært nyttig for spill og programmer. Lag din egen dra app og ta dette konseptet videre!   Takk for lesing! 
, forlate oss med  denTarget, oceanTarget, etter osv 
 
 Trinn 5: Guider 
 
 
 å gjøre med elementene i skjermbildet. 
 
 for å gjøre det 
 
 å matche objektene 
 
 Trinn 6:.. Action Tid 
 
 
 Trinn 7:.. Må Classes 
 
 pakke {import flash.display.Sprite; import flash.events.MouseEvent; 
 Trinn 8:. Utvide Class 
 
 public class Hoved strekker Sprite { 
 Trinn 9: Variabler 
 
 Var XPOS. int; //Lagrer de første x positionvar yPos: int; //Lagrer innledende y posisjon 
 Trinn 10: Main Funksjon 
 
 offentlig funksjon main (). Void {addListeners (hi, hav, jungel, elv, skog); //En funksjon for å legge til lytterne til klipsene i parametrene} 
 Trinn 11: Posisjon Funksjon 
 
 privat funksjon getPosition (mål: Object):. void {XPOS = target.x; yPos = target.y;} 
 Trinn 12:. Begynn Drag 
 
 privat funksjon dragObject (e: MouseEvent): void {getPosition (e .mål); e.target.startDrag (true);} 
 Trinn 13: Stopp Drag 
 
 privat funksjon stopDragObject (e: MouseEvent): void {if (e.target.hitTestObject (getChildByName (e.target.name + "Target"))) //Sjekker riktig fallet target {e.target.x = getChildByName (e.target.name + "Target") x.; //Hvis det er riktig, plassere klippet i samme posisjon som målet e.target.y = getChildByName (e.target.name + "Target") y.; } Else {e.target.x = XPOS; //Hvis ikke, går du tilbake klippet til sin opprinnelige posisjon e.target.y = yPos; } E.target.stopDrag (); //Stop dra} 
 Trinn 14: Lyttere 
 
 private funksjons addListeners (... objekter). Void { for (var i: int = 0; i < objects.length; i ++) {gjenstander [i] .addEventListener (MouseEvent.MOUSE_DOWN, dragObject); objekter [i] .addEventListener (MouseEvent.MOUSE_UP, stopDragObject); }} 
 Trinn 15:. Dokument Class 
 
 
 Konklusjon 
 
 

