hi i have created a game that uses keyboard input,
the code below doesnt seem to work when i use keyboard letter such as ‘a’ or ‘k’
yet will work if i try ‘1’
when i am in flash and press the letter keys they are still accessing the flash program and not the swf as i can see different things in flash being highlighted behind the swf.
so what i think i need is a way to make it so that the keyboard letters are activated in the swf
any help? thanks
override function keyDownHandler(e:KeyboardEvent):void {
switch (String.fromCharCode(e.keyCode)){
case'a' :
trace("work");
danceClip.gotoAndStop(2);
for (var i:uint=removeNum; i<clip; i++) {
hitTarget = this.getChildByName("arrow"+i);
if (hitTarget.hitTestPoint(leftSmall.x, leftSmall.y, true)) {
removeChild(hitTarget);
removeNum++;
small=true;
score+=10;
energy.gotoAndStop(energy.currentFrame-6);
perfectClip.gotoAndPlay(2);
return;
}
if (hitTarget.hitTestObject(leftHit) && small==false) {
removeChild(hitTarget);
removeNum++;
score+=5;
energy.gotoAndStop(energy.currentFrame-2);
goodClip.gotoAndPlay(2);
return;
}
}
break;
case's' :
danceClip.gotoAndStop(3);
for (var j:uint=removeNum; j<clip; j++) {
hitTarget = this.getChildByName("arrow"+j);
if (hitTarget.hitTestPoint(rightSmall.x, rightSmall.y, true)) {
removeChild(hitTarget);
removeNum++;
small=true;
score+=10;
energy.gotoAndStop(energy.currentFrame-6);
perfectClip.gotoAndPlay(2);
return;
}
if (hitTarget.hitTestObject(rightHit) && small==false) {
removeChild(hitTarget);
removeNum++;
score+=5;
energy.gotoAndStop(energy.currentFrame-2);
goodClip.gotoAndPlay(2);
return;
}
}
break;
case 'd' :
danceClip.gotoAndStop(4);
for (var k:uint=removeNum; k<clip; k++) {
hitTarget = this.getChildByName("arrow"+k);
if (hitTarget.hitTestPoint(upSmall.x, upSmall.y, true)) {
removeChild(hitTarget);
removeNum++;
small=true;
score+=10;
energy.gotoAndStop(energy.currentFrame-6);
perfectClip.gotoAndPlay(2);
return;
}
if (hitTarget.hitTestObject(upHit) && small==false) {
removeChild(hitTarget);
removeNum++;
score+=5;
energy.gotoAndStop(energy.currentFrame-2);
goodClip.gotoAndPlay(2);
return;
}
}
break;
case 'f' :
danceClip.gotoAndStop(5);
for (var l:uint=removeNum; l<clip; l++) {
hitTarget = this.getChildByName("arrow"+l);
if (hitTarget.hitTestPoint(downSmall.x, downSmall.y, true)) {
removeChild(hitTarget);
removeNum++;
small=true;
score+=10;
energy.gotoAndStop(energy.currentFrame-6);
perfectClip.gotoAndPlay(2);
return;
}
if (hitTarget.hitTestObject(downHit) && small==false) {
removeChild(hitTarget);
removeNum++;
score+=5;
energy.gotoAndStop(energy.currentFrame-2);
goodClip.gotoAndPlay(2);
return;
}
}
break;
default :
break;
}
}