PDA

Volledige versie bekijken : Problemen met besturing poppetje


Master SWF
%Europe/Berlin %916 %2005, 23:00
Zeg ik heb een vraag,
Ik heb een (lego)poppetje met flash gemaakt (leek me het makkelijkst om mee te beginnen). Dit poppetje wil ik gebruiken voor een spelletje alleen werkt de besturing niet goed.
Als je namelijk het linker pijltje en het rechter pijltje tegelijk in drukt gaat het fout, en het springen gaat veel te snel en niet goed, want als je shift ingedrukt houd schiet het popetje omhoog uit beeld.

Besturing:
-Links : linker pijl
-Rechts : rechter pijl
-Shift: springen

Zou iemand me kunnen helpen!!! :D
ik doe de .swf die ik heb om het poppetje te testen erbij!!!

Ik heb trouwens al op het forum en bij de tutorials gekeken maar ik heb niks kunnen vinden dat deze problemen oplost! :(

Dauntless
%Europe/Berlin %925 %2005, 23:12
Je zal toch je .fla moeten posten... Zonder fla kunnen we echt niet goed helpen...

Wel een id: Waarschijnlijk heb je 2x een if(Key.getCode() == "RIGHT") of zo (en left), maak van die tweede if dan eens een else if .

Maar post je fla even :).

Master SWF
%Europe/Berlin %932 %2005, 23:22
Ok,
komt eraan

Master SWF
%Europe/Berlin %934 %2005, 23:25
Ok Dauntless,
Hier is de .zip
met de .FLA en de .SWF

Dauntless
%Europe/Berlin %957 %2005, 23:58
Ok...

Begin eerst met in je gebruikers CP aan te duiden dat je Flash 8 gebruikt en niet FMX 2004 :).

Dan je as.
Ik wil eerst even zeggen dat het een slechte gewoonte is om AS OP een movieclip te zetten. Het is veel ordelijker als je het op frames zet :). (Dan moet je het wel een klein beetje aanpassen).

Dan dus die if else.
Maar er dit van:
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT))
{
_root.walkClip._x -= 10;
}
else if (Key.isDown(Key.RIGHT))
{
_root.walkClip._x += 10;
}
}
(Let op, LEFT en RIGHT zijn ook omgedraaid!!!)
onClipEvent (keyDown) {
if (Key.getCode() == Key.LEFT)
{
trace("links");
_root.walkClip.gotoAndStop(2);
_root.walkClip.DashLinks.play(2);
}
else if (Key.getCode() == Key.RIGHT)
{
trace("rechts");
_root.walkClip.gotoAndStop(1);
_root.walkClip.DashRechts.play(2);
}

Om te springen moet je dit eens lezen (zeer interssant):
Physics: Gravity! (http://www.kirupa.com/developer/actionscript/gravity.htm).

Veel succes :)

Master SWF
%Europe/Berlin %348 %2005, 09:22
Bedankt ik zal eens kijken hoe ver ik er mee kom!!

Master SWF
%Europe/Berlin %354 %2005, 09:31
Zeg ik heb nu een nieuw probleem:
het poppetje loopt nu achteruit!!! LOL

MASTER SWF

Dauntless
%Europe/Berlin %379 %2005, 10:06
Sorry, mijn fout :#. Ik heb de code aangepst .

Master SWF
%Europe/Berlin %787 %2005, 19:53
Het lopen werkt nu een stuk beter.
Het probleem zit hem nog steeds in het springen!!
Als ik die gravity tutorial toepas op mijn poppetje dan word het erg vreemd : de eerste drie keer gaat hij omhoog maar stopt hij te hoog, daarna gaat hij tot een heel eind onder mijn wereld

Ik heb de .FLA toegevoegd, ik hoop dat iemand me hiermee kan helpen!!

Oh ja springen is nog steeds SHIFT :D

Bedankt

Master SWF

Dauntless
%Europe/Berlin %832 %2005, 20:59
Maar er bv dit van:
onClipEvent (load) {
gravity = 2;
speedy = 0;
jumping = false;
}
onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT))
{
_root.walkClip._x -= 10;
}
else if (Key.isDown(Key.RIGHT))
{
_root.walkClip._x += 10;
}
if (jumping)
{
speedy += gravity;
this._y += speedy;
}
}
onClipEvent (keyDown) {
if (Key.getCode() == Key.LEFT)
{
trace("links");
_root.walkClip.gotoAndStop(2);
_root.walkClip.DashLinks.play(2);
}
else if (Key.getCode() == Key.RIGHT)
{
trace("rechts");
_root.walkClip.gotoAndStop(1);
_root.walkClip.DashRechts.play(2);
}
if (Key.getCode() == Key.SHIFT)
{
this._y -= speedy / 5;
}
}
onClipEvent (keyUp) {
if (Key.getCode() == Key.LEFT)
{
_root.walkClip.DashLinks.stop();
}
if (Key.getCode() == Key.RIGHT)
{
_root.walkClip.DashRechts.stop();
}
if (Key.getCode() == Key.SHIFT && !jumping)
{
jumping = true;
this.speedy = -20;
}
}


Nu moet je wel nog een hitTest() uitvoeren met het platform om te zien of hij al neerstaat of niet. Wanneer hij neergekomen is zet je 'jumping' op false.

Maar nog eens: Kijk wat ik veranderd heb en leer er van hé :).

Master SWF
%Europe/Berlin %690 %2005, 17:34
Hartstikke bedankt,
Dankzij jou ben ik er al weer een heel stuk verder mee, tof van je !!!