PDA

Volledige versie bekijken : Poppetje laten lopen met pijltjes toets


_wietske
%Europe/Berlin %806 %2010, 19:20
Ik wil een poppetje laten lopen met de pijltjes toetsen.
nu heb ik een code gevonden maar hij geeft een fout aan..

"Gebruik van een mogelijk niet-gedefinieerde eigenschap KeyCode via een verwijzing van het type static flash.events:KeyboardEvent."

zou iemand mij misschien kunnen vertellen wat die inhoud en wat ik hier aan kan doen?

dit is mijn code:

mcWalk.addEventListener(KeyboardEvent.KEY_DOWN, KeyPressed);

function KeyPressed(event:KeyboardEvent):void
{
switch (event.KeyCode)
{
case Keyboard.UP :
mcWalk.y -=5;
break;

case Keyboard.DOWN :
mcWalk.y +=5;
break;

case Keyboard.LEFT :
mcWalk.x -=5;
break;

case Keyboard.RIGHT :
mcWalk.x +=5;
break;
}
}

Jan
%Europe/Berlin %810 %2010, 19:27
Het forum biedt je de mogelijheid om op de keywords in je post/script te klikken. Dan kom je gelijk bij de help uit voor dat woord.
Gebruik van een mogelijk niet-gedefinieerde eigenschap KeyCode via een verwijzing van het type static flash.events:KeyboardEvent.
Dat wil zeggen : KeyCode bestaat niet in/bij KeyboardEvent
Om te zien wat er wel bestaat moet je dus op dat woord KeyboardEvent klikken. ;)

Jan

_wietske
%Europe/Berlin %828 %2010, 19:52
owke.. hmm snap niet zo goed wat je bedoelt..? :$

Jan
%Europe/Berlin %908 %2010, 21:48
owke.. hmm snap niet zo goed wat je bedoelt..? :$

Hmm ik snap niet wat er niet aan te snappen valt. :s
Het forum biedt je de mogelijheid om op de keywords in je post/script te klikken. Dan kom je gelijk bij de help uit voor dat woord.
Om te zien wat er wel bestaat moet je dus op dat woord KeyboardEvent klikken.
Ik klik dus in jouw post op het woordje KeyboardEvent en kom uit bij:
http://livedocs.adobe.com/flex/3/langref/flash/events/KeyboardEvent.html
Zie jij daar een property/eigenschap 'KeyCode'?
;)

Jan

_wietske
%Europe/Berlin %459 %2010, 11:01
hehe ja:P
moet ik dan eerst die KeyCode nog aan roepen of zo?

Jan
%Europe/Berlin %506 %2010, 12:09
hehe ja :P
hehe nee :P
Het moet met een kleine letter. Actionscript is case sensitive....

Jan

_wietske
%Europe/Berlin %554 %2010, 13:18
ahahaha :p
de fout is weg alleen het poppetje gaat nog niet heen en weer..

Jan
%Europe/Berlin %555 %2010, 13:20
mcWalk.addEventListener(KeyboardEvent.KEY_DOWN, KeyPressed);
verander mcWalk eens in stage
of geef focus aan mcWalk

Jan

Mediamonkey
%Europe/Berlin %625 %2010, 15:00
Je kunt beter "polling" gebruiken voor het bewegen van je poppetje.
Nu zal je hero bewegen op het moment waarop je een toets indrukt, dan even stil staan en dan snel doorrennen. Dat komt door je keyboard. Hetzelfde effect zie je als je de cursor beweegt dmv de pijltjestoetsen in bv een tekstveld.

Dit vang je af door gebruik te maken van polling.
In je keyhandler methode zet je dan een boolean per richting op false of true. Dan check je in een enterframehandler of je je hero moet bewegen. Zo ongeveer:

protected function keyDownHandler(event:KeyboardEvent):void {

switch (event.keyCode) {
case Keyboard.UP: {
moveUp = true;
break;
}
case Keyboard.DOWN: {
moveDown = true;
break;
}
case Keyboard.LEFT: {
moveLeft = true;
break;
}
case Keyboard.RIGHT: {
moveRight = true;
break;
}
}
}

protected function keyUpHandler(event:KeyboardEvent):void {

switch (event.keyCode) {
case Keyboard.UP: {
moveUp = false;
break;
}
case Keyboard.DOWN: {
moveDown = false;
break;
}
case Keyboard.LEFT: {
moveLeft = false;
break;
}
case Keyboard.RIGHT: {
moveRight = false;
break;
}
}
}

protected function enterFrameHandler(event:Event):void {
if (moveUp) hero.y -= 5;
if (moveDown) hero.y += 5;
if (moveLeft) hero.x -= 5;
if (moveRight) hero.x += 5;
}