I made a document class and created an instance of a keyDetection class
//Document Class
package com
{
import flash.display.MovieClip;
import flash.events.Event;
import com.kDet;
public class DocumentClass extends MovieClip
{
private var _kDet:kDet;
public function DocumentClass()
{
trace("**Document Class Instantiated**");
_kDet=new kDet();
this.addEventListener(Event.ENTER_FRAME,codeLoop);
}
private function codeLoop(evt:Event):void{
if(_kDet.upk){
trace("up key is held");
}
}
}
}
//kDet Class
package com
{
import flash.display.MovieClip;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class kDet extends MovieClip
{
public var rightk:Boolean;
public var leftk:Boolean
public var upk:Boolean;
public var downk:Boolean;
public function kDet()
{
this.addEventListener(KeyboardEvent.KEY_DOWN,kd);
this.addEventListener(KeyboardEvent.KEY_UP,ku);
trace("**Key Detection instantiated**");
}
public function kd(evt:KeyboardEvent):void{
switch(evt.keyCode){
case Keyboard.RIGHT:
rightk=true;
break;
case Keyboard.LEFT:
leftk=true;
break;
case Keyboard.UP:
upk=true;
break;
case Keyboard.DOWN:
downk=true;
break;
}
}
public function ku(evt:KeyboardEvent):void{
switch(evt.keyCode){
case Keyboard.RIGHT:
rightk=false;
break;
case Keyboard.LEFT:
leftk=false;
break;
case Keyboard.UP:
upk=false;
break;
case Keyboard.DOWN:
downk=false;
break;
}
}
}
}
when i pressed the up it didnt assign upk to true… i placed trace() all over the function testing it out and it seems that the function is not dispatched at all… whats the problem with the code?? =(