Flash AS3 drag and drop
Klik op de munt om hem te draggen, zodra je bij het varkentje komt verdwijnt de munt in het varken.
munt.addEventListener(MouseEvent.MOUSE_DOWN, drag);//bij een klik op het muntje naar de functie drag stage.addEventListener(MouseEvent.MOUSE_UP, drop);//bij loslaten van het muntje naar de functie drop function drag(e:MouseEvent):void { e.target.startDrag(false, new Rectangle(33,31,559,230));//starten van het draggen, de rectangle is het gebied waar buiten het muntje niet kan gedragt worden (x,y,w,h) } function drop(e:MouseEvent):void { stopDrag();//stoppen van het draggen } munt.addEventListener(Event.ENTER_FRAME, Hitding); //luisteren of de munt het varkentje raakt function Hitding(event:Event):void { if (spaarvarken.hitTestObject(munt)) // als het muntje het varkentje raakt { munt.visible=false;//wordt de munt onzichtbaar } } |
In bovenstaand voorbeeld komt het muntje ook weer terug, om dat voor elkaar te krijgen heb je de volgende extra code nodig (onderstaande code komt bovenin):
var Teller=10; //hierin het aantal seconden dat de timer moet gebruiken
var myTimer:Timer=new Timer(1000,30); //1000,30 betekend dat er 30 keer een seconde getimed wordt, aanpassen naar 60 voor een minuut.
myTimer.addEventListener(TimerEvent.TIMER, timerListener);//luisterd naar de timer
var myTimer:Timer=new Timer(1000,30); //1000,30 betekend dat er 30 keer een seconde getimed wordt, aanpassen naar 60 voor een minuut.
myTimer.addEventListener(TimerEvent.TIMER, timerListener);//luisterd naar de timer
Vervang het laatste stuk code door de volgende codes:
function Hitding(event:Event):void { if (spaarvarken.hitTestObject(munt)) // als het muntje het varkentje raakt { munt.visible=false;//wordt de munt onzichtbaar myTimer.start();//start de timer } }function timerListener(e:TimerEvent):void { if (Teller==0) {//als de teller op 0 staat het volgende uitvoeren munt.visible=true;//munt zichtbaar maken munt.x=466.95;//verplaats naar deze x coordinaat munt.y=200;//verplaats naar deze y coordinaat Teller=10;//zet de teller weer op 10 myTimer.stop();//zet de teller stop } else { Teller--; //iedere seconde een afhalen van het getal in de variabele Teller } } |