A Flash Developer Resource Site

Results 1 to 20 of 27

Thread: Key.isDown to be used in a button

Threaded View

  1. #6
    :
    Join Date
    Dec 2002
    Posts
    3,518
    Perhaps this will give you some ideas...
    Code:
    // added two background movie clips to the stage,
    // instance names bgA and bgB, both must be wider than stage
    
    var dy:Number = 0;
    var gravity:Number = 1;
    var canjump:Boolean = false;
    var minObj:int = 2;
    var maxObj:int = 5;
    var objs:Sprite = new Sprite();
    var hurdle:Hurdle;
    var healthAmt:int = 10;
    var maxHealth:int = health.width;
    
    hero.gotoAndStop('still');
    hero.upval = 0;
    bgA.speed = 5;
    bgA.x = 0;
    bgB.x = bgA.x + bgA.width;
    addObj(bgB);
    
    btnPause.addEventListener(MouseEvent.MOUSE_DOWN, doPause);
    btnJump.addEventListener(MouseEvent.MOUSE_DOWN, doJump);
    stage.addEventListener(MouseEvent.MOUSE_UP, doWalk);
    stage.addEventListener(Event.ENTER_FRAME,onenter);
    
    function doPause(e:Event):void {
            bgA.speed = 0;
            hero.scaleX = -1;
            hero.gotoAndStop('still');
    }
    function doJump(e:Event):void {
            hero.upval = -20;
    }
    function doWalk(e:Event):void {
            hero.upval = 0;
            bgA.speed = 5;
            hero.gotoAndStop('walking');
    }
    function onenter(e:Event):void {
            bgA.x -=  bgA.speed;
            bgB.x -=  bgA.speed;
            if (bgA.x <  -  bgA.width) {
                    bgA.x = bgB.x + bgB.width;
                    addObj(bgA);
            }
            if (bgB.x <  -  bgB.width) {
                    bgB.x = bgA.x + bgA.width;
                    addObj(bgB);
            }
            dy +=  gravity;
            if (hero.y > 300) {
                    dy = 0;
                    canjump = true;
            }
            if (canjump) {
                    dy = hero.upval;
                    canjump = false;
            }
            hero.y +=  dy;
            if (hero.hitTestObject(bgA)) {
                    checkHit(bgA);
            }
            if (hero.hitTestObject(bgB)) {
                    checkHit(bgB);
            }
    }
    function checkHit($mc:MovieClip):void {
            objs = $mc.getChildByName($mc.name) as Sprite;
            if (objs) {
                    for (var i:int; i < objs.numChildren; i++) {
                            hurdle = (objs.getChildAt(i)) as Hurdle;
                            if (! hurdle.gotHit) {
                                    if (hero.hitTestObject(hurdle)) {
                                            hurdle.gotHit = true;
                                            health.width -= (maxHealth / healthAmt);
                                            if (health.width <= 0){
                                                    trace("game over");
                                                    stage.removeEventListener(Event.ENTER_FRAME,onenter);
                                            }
                                    }
                            }
                    }
            }
    }
    function addObj($mc:MovieClip):void {
            objs = $mc.getChildByName($mc.name) as Sprite;
            if (objs) {
                    $mc.removeChild(objs);
            }
            objs = new Sprite();
            objs.name = $mc.name;
            var numObj:int = randomRange(minObj,maxObj);
            for (var i:int = 0; i < numObj; i++) {
                    hurdle = new Hurdle();
                    hurdle.x = randomRange(hurdle.width,$mc.width - hurdle.width);
                    hurdle.y = 300 - hurdle.height;
                    objs.addChild(hurdle);
            }
            $mc.addChild(objs);
    }
    function randomRange(min:Number, max:Number):Number {
            return (min + Math.random() * (max - min));
    }
    Last edited by dawsonk; 01-16-2013 at 12:37 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center