Note that there are some explanatory texts on larger screens.

plurals
  1. POCharacter getting faster everytime I reset my game from gameover screen in action script 3
    text
    copied!<p>My game starts with a start frame. click a button to the game. if I hit an object I go to game over screen. Everytime I hit the start over button on the game over screen my characters controls get faster. I have set no variables for speed, simply just "mc_guy.x +=3" or .y , etc. If I had to say by how much faster I would want to say that the speed doubles.</p> <pre><code> import flash.events.Event; import flash.ui.Keyboard; import flash.events.Event; import flash.events.KeyboardEvent; import flash.display.MovieClip; //prevent game loop stop(); // event listeners for movement mc_Guy.addEventListener(Event.ENTER_FRAME, update); stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDownGuy); stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUpGuy); // this array holds references to all the keys var keys:Array = []; //initiate default values fuelGauge.height = 100; //Gravity addEventListener(Event.ENTER_FRAME,Gravity) var GyAmt:Number = 5; function Gravity(e:Event){ mc_Guy.y += GyAmt; if (gameFloor.hitTestObject(mc_Guy)){ mc_Guy.y = gameFloor.y;} else if (gameFloor2.hitTestObject(mc_Guy)){ mc_Guy.y = gameFloor2.y;} else if (gameFloor3.hitTestObject(mc_Guy)){ mc_Guy.y = gameFloor3.y;}} // the event listeners function update(e:Event):void { if (keys[Keyboard.RIGHT]) { mc_Guy.x += 3; } if (keys[Keyboard.LEFT]) { mc_Guy.x -= 3; } if (keys[Keyboard.SPACE]){ mc_Guy.y -= 10; //drain fuel fuelGauge.height -= 1; gaugePercent.text = String(fuelGauge.height) if (fuelGauge.height == 0){ nextFrame();}} } function onKeyDownGuy(e:KeyboardEvent):void { keys[e.keyCode] = true; } function onKeyUpGuy(e:KeyboardEvent):void { keys[e.keyCode] = false; } //Array storing each wall var MC_wall:Array = new Array(mc_Wall,mc_Wall2,mc_Wall5, mc_Wall6,mc_Wall7,mc_Wall8,mc_Wall9,mc_Wall10,mc_Wall11,mc_Wall12, mc_Wall13) //Collision Detection addEventListener(Event.ENTER_FRAME,loop); function loop(e:Event){ var i:Number = 0; do { if (MC_wall[i].hitTestObject(mc_Guy)){ nextFrame();} i++; } while (i &lt; MC_wall.length); /* for (var i:Number = 0; i &lt; MC_wall.length; i++){ if (MC_wall[i].hitTestObject(mc_Guy)){ nextFrame();} }*/ if(mc_Guy.hitTestPoint(mc_WallRun.x, mc_WallRun.y, false)){ nextFrame();} else if(mc_Guy.hitTestObject(fuelPowerup)){ removeChild(fuelPowerup); fuelGauge.height = 100; gaugePercent.text = String(fuelGauge.height)} else if(mc_Guy.hitTestObject(doorKey)){ removeChild(doorKey) //open door mc_Wall13.height -=20 mc_Wall13.y -= 10 } } //Object Movement addEventListener(Event.ENTER_FRAME, onEnterFrame); var spinSpeed:Number=6; var axisMove:Number = 90; var axisMovement:Number = 3; function onEnterFrame(event:Event):void { mc_WallRun.rotation+=spinSpeed; //count the movement on axis and move axisMove -= 3; mc_Wall9.x += axisMovement; gameFloor3.x += axisMovement * .9; if(axisMove &lt;= 0){ axisMove += 90 axisMovement = axisMovement*-1 } } </code></pre> <p>Gameover frame:</p> <pre><code>import flash.events.MouseEvent; stop(); restartGame.addEventListener(MouseEvent.MOUSE_DOWN, playAgain); function playAgain(event:MouseEvent):void{ prevFrame(); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload