Adding keyboardEvent without having to focus

Hi all,

I’m having a little problem with a website i’m trying to build here.

http://janhouwen.be/

So what i want is the following:

Now the first thing you have to do is click on the little van to focus on it, this is done by:

auto.addEventListener(MouseEvent.CLICK, clickHandler);

and:


private function clickHandler(evt:MouseEvent):void{
            stage.focus = auto;
            stage.stageFocusRect = false;
 }

But what i wan’t is that you don’t need to Click on the van before you can control it, so that when you push the right arrow the van automaticly starts moving.

Because when i wan’t to start adding other buttons on the houses the website starts to freak out (focus switches etc etc…)

Any ideas on how to fix this ?

This is the code to make the van and background move btw:

auto.addEventListener(KeyboardEvent.KEY_DOWN, knopNeer);
            auto.addEventListener(KeyboardEvent.KEY_UP, knopUp);            

 private function knopNeer(event:KeyboardEvent):void {
            
            var key = event.keyCode;
            var _snelheidAuto = 0;
            var _vermeerderRest = 0;
            var _vermeerderZwart = 0;
            var _vermeerderWolk = 0;
            var _vermeerderMask = 0;
            
            if (key == 39){
                _vooruit = true;
            }else{
                _vooruit = false;
            }
            
            if(_vooruit == true){
                _snelheidAuto = 10;
                _vermeerderMask = 10;
            }else{
                _snelheidAuto = -10;
            }
            
            if(appa.x <= -2000){
                _vooruit = false;
            }
            
            if(_vooruit == true && auto.x >= 500){
                _snelheidAuto = 0;
                _vermeerderRest = 10;
                _vermeerderZwart = 8;
                _vermeerderWolk = 6;
            }
            
            if(_vooruit == false && auto.x <= 500){
                _vermeerderRest = -10;
                _vermeerderZwart = -8;
                _vermeerderWolk = -6;
                _snelheidAuto = 0;
            }
            
            auto.x += _snelheidAuto;
            appa.x -= _vermeerderRest;
            appaGek.x -= _vermeerderRest;
            appaGek.maskMc.width += _vermeerderMask;
            luchtGek.width += _vermeerderMask;
            zwart.x -= _vermeerderZwart;
            wolk.x -= _vermeerderWolk;
            trot.x -= _vermeerderRest;
            lantOff.x -= _vermeerderRest;
            
            trace(appa.x);
            
        }
        private function knopUp(event:KeyboardEvent):void {
        }

and the full classfile:


package {
    import flash.display.*;
    import flash.events.*;
    import flash.display.Stage;
    import flash.display.DisplayObject;
    import flash.events.*;

    public class createMc extends MovieClip {

        trace("test");
        
        public var auto:mcAuto = new mcAuto();
        public var appaGek:mcAppaGek = new mcAppaGek();
        public var appa:mcAppaOng = new mcAppaOng();
        public var zwart:mcZwart = new mcZwart();
        public var wolk:mcWolk = new mcWolk();
        public var trot:mcTrot = new mcTrot();
        public var lantOff:mcLantOng = new mcLantOng();
        public var luchtGek:luchtMc = new luchtMc();
        public var luchtOn:luchtOnMc = new luchtOnMc();
        
        public var _helft:Boolean = false;
        public var _vooruit:Boolean = true;

        public static var stage:Stage;
        
        public function createMc() {
            wolk.x=0;
            wolk.y=wolk.height;
            addChild(wolk);

            zwart.x=0;
            zwart.y=630;
            addChild (zwart);

            appa.x=0;
            appa.y=600;
            addChild(appa);
            
            appaGek.x = 0;
            appaGek.y = 240;
            addChild(appaGek);
            
            appaGek.maskMc.width = 0;
            
            luchtGek.x = 0;
            luchtGek.y = 0;
            luchtGek.width = 0;
            addChildAt(luchtGek,0.1);
            
            luchtOn.x = 0;
            luchtOn.y = 0;
            addChildAt(luchtOn,0);
            
            trot.x=0;
            trot.y=600;
            addChild(trot);

            lantOff.x=0;
            lantOff.y=600;
            lantOff.height = 120;
            addChild(lantOff);

            auto.x = 0 - (auto.width/2);
            auto.y=600;
            addChild(auto);
                        
            auto.addEventListener(KeyboardEvent.KEY_DOWN, knopNeer);
            auto.addEventListener(KeyboardEvent.KEY_UP, knopUp);                    
            auto.addEventListener(MouseEvent.CLICK, clickHandler);
            
        }
        
        private function clickHandler(evt:MouseEvent):void{
            stage.focus = auto;
            stage.stageFocusRect = false;
        }

        private function knopNeer(event:KeyboardEvent):void {
            
            var key = event.keyCode;
            var _snelheidAuto = 0;
            var _vermeerderRest = 0;
            var _vermeerderZwart = 0;
            var _vermeerderWolk = 0;
            var _vermeerderMask = 0;
            
            if (key == 39){
                _vooruit = true;
            }else{
                _vooruit = false;
            }
            
            if(_vooruit == true){
                _snelheidAuto = 10;
                _vermeerderMask = 10;
            }else{
                _snelheidAuto = -10;
            }
            
            if(appa.x <= -2000){
                _vooruit = false;
            }
            
            if(_vooruit == true && auto.x >= 500){
                _snelheidAuto = 0;
                _vermeerderRest = 10;
                _vermeerderZwart = 8;
                _vermeerderWolk = 6;
            }
            
            if(_vooruit == false && auto.x <= 500){
                _vermeerderRest = -10;
                _vermeerderZwart = -8;
                _vermeerderWolk = -6;
                _snelheidAuto = 0;
            }
            
            auto.x += _snelheidAuto;
            appa.x -= _vermeerderRest;
            appaGek.x -= _vermeerderRest;
            appaGek.maskMc.width += _vermeerderMask;
            luchtGek.width += _vermeerderMask;
            zwart.x -= _vermeerderZwart;
            wolk.x -= _vermeerderWolk;
            trot.x -= _vermeerderRest;
            lantOff.x -= _vermeerderRest;
            
            trace(appa.x);
            
        }
        private function knopUp(event:KeyboardEvent):void {
        }

    }


}

any help is very much appreciated :smiley:

P.S. any comments on the IF function to move the van are always welcome, cause i do believe there has to be a way to write this in a more effective way :stuck_out_tongue:

Grts !