Volledige versie bekijken : Object laten bewegen
Voles
%Europe/Berlin %808 %2008, 20:23
Hallo iedereen,
Ik heb in m'n eerste frame de volgende code:
// Functie voor afvuren kogel
function afvuren(Event:MouseEvent):void {
var kogel:DisplayObject;
kogel = new Kogel();
kogel.x = geweer.width + 5;
kogel.y = geweer.y;
addChild(kogel);
trace("sss");
}
// Klikken op "Shoot"
shoot.addEventListener(MouseEvent.MOUSE_UP, afvuren);
Hoe kan ik die "kogel" nu laten bewegen? Bv dat hij aan een snelheid van '2' naar rechts beweegt?
Alvast bedankt!
Mr. Black
%Europe/Berlin %827 %2008, 20:51
Allereerst:
Geef een variabele nooit de naam 'Event'. Dit is tevens de naam van een class, niet zo'n goed plan dus. Beter noem je hem gewoon 'event'.
Een Kogel instance is inderdaad een DisplayObject, maar iets specifieker: gewoon een Kogel!
// Functie voor afvuren kogel
function afvuren( event:MouseEvent ):void
{
var kogel:Kogel = new Kogel();
kogel.x = geweer.width + 5;
kogel.y = geweer.y;
this.addChild( kogel );
trace( "sss" );
}
// Klikken op "Shoot"
shoot.addEventListener( MouseEvent.MOUSE_UP, afvuren );
Dan antwoord op je vraag. Je wilt de kogel waarschijnlijk iedere frame laten bewegen. Het makkelijkste is dan gewoon om er een listener aan te hangen:
// in de functie 'afvuren'
kogel.addEventListener( Event.ENTER_FRAME, beweegKogel );
// de functie 'beweegKogel'
function beweegKogel( event:Event ):void
{
var kogel:Kogel = event.currentTarget as Kogel; // de referentie naar de kogel die moet bewegen
kogel.x += 2; // de beweging toepassen
}
Succes nog! :)
Voles
%Europe/Berlin %835 %2008, 21:03
Bedankt. Ik ben sinds gisteren begonnen met wat ActionScript te leren (3.0). Nu zit ik nog met een vraag over zogenaamde 'events' en 'listener'.
Wat zijn die twee 'dingen' en wat kan je er precies mee bereiken?
Alvast bedankt!
Jan
%Europe/Berlin %839 %2008, 21:09
Bedankt. Ik ben sinds gisteren begonnen met wat ActionScript te leren (3.0). Nu zit ik nog met een vraag over zogenaamde 'events' en 'listener'.
Wat zijn die twee 'dingen' en wat kan je er precies mee bereiken?
Alvast bedankt!
http://www.communitymx.com/content/article.cfm?cid=76FDB
http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html
http://edutechwiki.unige.ch/en/ActionScript_3_event_handling_tutorial
http://www.kylebrekke.com/wordpress/2008/tutorial-event-listeners-in-flash-as3-explained/
http://www.miraztutorials.com/how-to-use-event-listenershandlers-in-flash-cs3-using-actionscript-3/
Spijtig dat zo weinig mensen zich Google kunnen veroorloven.
Anders moet je ergens een gratis Google trial zoeken die je dan kan downloaden. 8~
Groeten,
http://users.telenet.be/jansurf/cwo.pngJan
Voles
%Europe/Berlin %842 %2008, 21:13
Zit al 2 dagen te googlen ;-)
Zoek iets deftigs in het Nederlands... Maar er staat zo weinig online over ActionScript 3 in het Nederlands?
Toch bedankt!
Voles
%Europe/Berlin %857 %2008, 21:34
Is het mogelijk om dit stukje code ff te verduidelijken? Ik snap het nog niet helemaal...
// de functie 'beweegKogel'
function beweegKogel( event:Event ):void {
var kogel:Kogel = event.currentTarget as Kogel; // de referentie naar de kogel die moet bewegen
kogel.x += 5; // de beweging toepassen
}// de functie 'beweegKogel'
function beweegKogel( event:Event ):void {
var kogel:Kogel = event.currentTarget as Kogel; // de referentie naar de kogel die moet bewegen
kogel.x += 5; // de beweging toepassen
}
Tom.
%Europe/Berlin %880 %2008, 22:07
Ik ga het proberen:
kogel.addEventListener( Event.ENTER_FRAME, beweegKogel ); hoort er wel erg bij.
Hierbij hang je een EventListener aan kogel. Elke keer dat 'kogel' dat "frame entert", normaliter dus gewoon elk frame, wordt de functie 'beweegKogel' aangeroepen.
In die functie schrijf je "event:Event", en later weer "event.currentTarget". Die 'event' is dezelfde. event.currentTarget verwijst naar de het ding dat die functie aangeroepen heeft, in dit geval de kogel waar de eventlistener aan hangt dus.
In die var "kogel" stop je dus een verwijzing naar dat event.currentTarget. Daarna zeg je niets meer dan 'kogel.x +=5', ofwel bij de x-positie van de kogel wordt 5 opgeteld.
Aangezien die functie elk frame wordt aangeroepen, juist, beweegt de kogel.
theFlashWizard
%Europe/Berlin %085 %2008, 03:03
Waarom zou je iets deftigs schrijven in het nederlands als je in het engels meteen een veel grotere doelgroep weet te bereiken?
Wist je dat de top Flash developers in Nederland max 20 man zijn. (Liggend aan je idee van top natuurlijk).
Leer engels, dat maakt de wereld een stuk groter ;)
Voles
%Europe/Berlin %536 %2008, 13:53
Dat begrijp ik wel :-) Mijn kennis van PHP en andere programmeertalen enzo heb ik ook grotendeels van het internet (Engels).
Maar ik kan de taal van Flash moeilijk begrijpen als ik er niets van weet. Dan heb ik liever een kleine inleiding in het Nederlands, dan weet ik tenminste waarover men het heeft. En daarop kan ik dan verder bouwen, al dan niet in het Engels :-)
Maar iedereen bedankt! Ik zal wat verder experimenteren nu :-)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.