PDA

Volledige versie bekijken : Een kogel in een schietspel...


Sarcasm
%Europe/Berlin %690 %2005, 17:34
Hey...
Ik ben bezig aan een schietspel, vanuit bovenaanzicht. Op het scherm bevinden zich een mannetje (object "hero") een een crosshair. de kogel zou een baan moeten volgen van het mannetje richting crosshair (en verder natuurlijk)
wat vrij logisch klinkt.
Het probleem bevindt zich vooral in het feit dat ik een beginnende aS-er ben. Ik heb stukken uit tutorials gehaald en die gecombineerd naar wat ik had begrepen. dit stukje script heb ik in de eerste frame staan van het geheel, waar alles om draait (hierin zitten de crosshair en het mannetje):
if (diepte == undefined) {
diepte = 1;
} else {
diepte++;
}
if (Key.isDown(Key.SPACE)) {
bullet.duplicateMovieClip("bullet"+diepte, diepte);
setProperty("bullet"+diepte, _y, 100);
setProperty("bullet"+diepte, _x, 100);
}

(de 100 by de setproperties was slechts als test, hier zouden later de posities van het mannetje moeten komen.)

Naar wat ik dacht zou er dus zodra ik begin te spelen een object (dat zich reeds in myn library bevindt) moeten verschijnen op de coordinaten (100,100). er gebeurt echter niets.

PS dit script is alleen nog maar voor het startpunt van de kogel, maar aangezien dit zelfs niet lukt, hoef ik nog niet verder te werken naar de beweging.

Als iemand de fouten uit dit stuk script zou kunnen halen, of misschien zelfs een heel nieuw script schrijven waarmee de kogel zou verschijnen en vliegen bedank ik die persoon al op voorhand...

Flasher
%Europe/Berlin %768 %2005, 19:26
var diepte:Number = 1;
var keyListener:Object = new Object();
keyListener.onKeyDown = function() {
if(Key.getCode() == Key.SPACE) bullet.duplicateMovieClip("bullet"+diepte, diepte++, {_x: 100, _y: 100});
}
Key.addListener(keyListener);

Dit werkt alleen als bullet een movieclip op de stage is. Als bullet in de library zit moet je attachMovie() gebruiken.

Het voordeel van het werken met listeners is dat het minder CPU-intensief is dan bv. een onEnterFrame.