//platform
var platform:MovieClip = _root.createEmptyMovieClip("platform", _root.getNextHighestDepth());
var pID:Number = 20;
var pLeft:Number = 0;
var pRight:Number = pID * 40;
var pFall:Number = 57;
var pInc:Number = 3;
//speed
var speedTimer:Number = 0;
var speedWait:Number = 48;
var speedInc:Number = .2;
var speed:Number = 7;
var minSpeed:Number = 5;
//jump
var fallSpeed:Number = 0;
var jumpSpeed:Number = 10;
var floor:Number = 250;
var jump:Number = 0;
var doubleJump:Boolean = false;
var gravity:Number = .5;
var plat_arr:Array = [pLeft, 250, pRight];
var signal:Boolean = true;
//animation
var animFrame:Number = 0;
igeman_mc.stop();
igeman_mc.run.stop();
//fps
var fps:Number = 48;
var frames:Number = 0;
var startTime:Number = 0;
//fire
var nextFire:Number = random(5) + 20;
//ice
var ices:MovieClip = _root.createEmptyMovieClip("ices", _root.getNextHighestDepth());
var iceUse:Number = 1;
var iceGiven:Number = 1;
var iceReady:Boolean = true;
var iceCooldown:Number = 0;
var iceFloor:Number = 0;
var iceRight:Number = 0;
var iceWait:Number = 120;
//music
var doMute:Boolean = true;
var firstMute:Number = mute_mc.getDepth();
mute_mc.swapDepths(_root.getNextHighestDepth());
if (snd)
{
mute_mc.gotoAndStop(1);
}
else
{
mute_mc.gotoAndStop(2);
}
var loop_snd:Sound = new Sound(this);
var pauseTime:Number = 2000;
var pause:Number;
loop_snd.onSoundComplete = processPause;
loop_snd.attachSound("music");
function loopSound()
{
clearInterval(pause);
loop_snd.start(0,1);
}
function processPause()
{
trace("HAY");
pause = setInterval(loopSound, pauseTime);
}
if (snd)
{
loopSound();
}
mute_btn.onPress = function()
{
if (snd)
{
pos = loop_snd.position / 1000;
loop_snd.stop();
mute_mc.gotoAndStop(2);
}
else
{
loop_snd.start(pos);
mute_mc.gotoAndStop(1);
}
snd = !snd;
};
//pause
var doPause:Boolean = true;
var firstPause:Number = pause_mc.getDepth();
pause_mc.swapDepths(_root.getNextHighestDepth());
var paused:Boolean = false;
pause_btn.onPress = function()
{
if (paused)
{
pause_mc.gotoAndStop(1);
}
else
{
pause_mc.gotoAndStop(2);
}
paused = !paused;
};
//game over var over:Boolean = false; var score:Number = 0; var minTemp:Number = Infinity; //the Code for (var i:Number = 0; i < pID; i++) { var newPlat:MovieClip = platform.attachMovie("platform", "platform_" + i + "_mc", platform.getNextHighestDepth()); newPlat._x = i * 40; newPlat._y = 250; if (--nextFire == 0) { var newFire:MovieClip = platform.attachMovie("fire", "fire_" + pID + "_mc", platform.getNextHighestDepth()); nextFire = random(12) + 3; newFire._x = newPlat._x + 20; newFire._y = newPlat._y + 10; newFire.onEnterFrame = function() { if (paused) { return; } if (igeman_mc.hitTest(this._x + platform._x, this._y - 50, true)) { speed -= .4; } if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; } newPlat.onEnterFrame = function() { if (paused) { return; } this.gotoAndStop(Math.max(1, (200 - (int(speed * 8))))); if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; } onEnterFrame = function () { //mute if (Key.isDown(77)) { if (doMute) { mute_btn.onPress(); doMute = false; } } else { doMute = true; } //pause trace(doPause); if (Key.isDown(80)) { if (doPause) { pause_btn.onPress(); doPause = false; } } else { doPause = true; } if (paused) { return; } var currentTime:Number = (getTimer() - startTime) / 1000; frames++; if (currentTime > 1) { fps = Math.floor((frames / currentTime) * 10.0) / 10.0; startTime = getTimer(); frames = 0; } if (signal && igeman_mc._x - platform._x + 20 > plat_arr[0]) { floor = plat_arr[1]; plat_arr = plat_arr.slice(2); signal = !signal; realFloor = floor; } if (!signal && igeman_mc._x - platform._x - 20 > plat_arr[0]) { floor = 800; plat_arr = plat_arr.slice(1); signal = !signal; realFloor = floor; } if (igeman_mc._x - platform._x - 10 < iceRight) { floor = Math.min(realFloor, iceFloor); if (floor == iceFloor && !jump) { speedInc = 1.2; } else { speedInc = .2; } } else { speedInc = .2; floor = realFloor; } if (!over) { if (platform._x <= -pLeft + 550) { addPlatform(); pFall += pInc; } if (++speedTimer >= speedWait) { speedTimer = 0; speed += speedInc; } if (speed < minSpeed) { speed = minSpeed; } platform._x -= speed * 12 / 25; ices._x -= speed * 12 / 25; animFrame = (animFrame + speed * 25 / 120) % igeman_mc.run._totalframes; igeman_mc.run.gotoAndStop(int(animFrame)); if (!jump && floor > igeman_mc._y + 95 / 2) { fallSpeed = 0; jump = 1; } if (Key.isDown(Key.UP)) { if (jump == 0) { fallSpeed = -jumpSpeed; jump++; } if (doubleJump == true) { fallSpeed = -jumpSpeed; jump++; doubleJump = false; } } else if (jump == 1) { doubleJump = true; } if (floor + 1 < igeman_mc._y + 95 / 2) { over = true; ices.removeMovieClip(); } } if (jump || over) { igeman_mc._y += fallSpeed += gravity; if (igeman_mc._y > floor - 95 / 2 && !over) { jump = 0; doubleJump = false; igeman_mc._y = floor - 95 / 2; } } if (jump) { igeman_mc.gotoAndStop(2); animFrame = 25; } else { igeman_mc.gotoAndStop(1); } var dist:Number = Math.floor((-platform._x) / 50); //ice if (dist >= iceGiven * iceWait) { iceGiven++; iceUse++; } if (iceCooldown > 0) { iceCooldown--; } if (Key.isDown(Key.SPACE)) { if (iceReady && iceUse && !iceCooldown) { iceCooldown = 24; iceReady = false; iceUse--; iceRight = -platform._x + igeman_mc._x + 300; var newIce:MovieClip = ices.attachMovie("ice", "ice", ices.getNextHighestDepth()); newIce._x = -platform._x + igeman_mc._x; newIce._y = igeman_mc._y + 95 / 2; iceFloor = newIce._y; newIce.onEnterFrame = function() { if (paused) { return; } if (this._x < -300 - ices._x) { this.removeMovieClip(); } }; } } else { iceReady = true; } //ui //fps_txt.text = (Math.round(fps * 10) / 10); speed_txt.text = (Math.round(speed * 10) / 10); dist_txt.text = dist; special_txt.text = iceUse; special_mc._xscale = 100 - (iceGiven * iceWait - dist) / iceWait * 100; //temp_txt.text = (200 - (int(speed * 8))); var temp:Number = (200 - (int(speed * 8))); minTemp = Math.min(minTemp, temp); thermometer_mc.gotoAndStop(Math.max(1, temp)); bg_mc.gotoAndStop(Math.max(1, temp)); if (igeman_mc._y > 400) { over = true; loop_snd.stop(); platform.removeMovieClip(); ices.removeMovieClip(); score = dist * 25 + Math.pow(Math.min(Math.max(0, 144 - minTemp), 144), 2); mute_mc.swapDepths(firstMute); pause_mc.swapDepths(firstPause); nextFrame(); delete onEnterFrame; } }; function addPlatform() { var h:Number = random(150) + 200; var len:Number = random(10) + 1; var moving:Boolean = false; pLeft = pRight + pFall; pRight = pLeft + len * 40; plat_arr.push(pLeft); plat_arr.push(h); plat_arr.push(pRight); if (len > 4 && !(random(5))) { moving = true; } for (var i:Number = 0; i < len; i++) { var newPlat:MovieClip = platform.attachMovie("platform", "platform_" + pID + "_mc", platform.getNextHighestDepth()); newPlat._x = i * 40 + pLeft; newPlat._y = h; if (!moving && --nextFire == 0) { var newFire:MovieClip = platform.attachMovie("fire", "fire_" + pID + "_mc", platform.getNextHighestDepth()); nextFire = random(12) + 3; newFire._x = newPlat._x + 20; newFire._y = newPlat._y + 10; newFire.onEnterFrame = function() { if (paused) { return; } if (this.hitTest(ices)) { this.removeMovieClip(); } if (igeman_mc.hitTest(this._x + platform._x, this._y - 50, true)) { speed -= .4; } if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; pID++; } newPlat.onEnterFrame = function() { if (paused) { return; } this.gotoAndStop(Math.max(1, (200 - (int(speed * 8))))); if (platform._x < -this._x - 80) { this.removeMovieClip(); } }; } if (moving) { var newFire:MovieClip = platform.attachMovie("fire", "fire_" + pID + "_mc", platform.getNextHighestDepth()); newFire._x = pLeft + random(len) * 40 + 20; newFire._y = h + 10; newFire.left = pLeft + 20; newFire.right = pRight - 20; newFire.speed = 2; newFire.onEnterFrame = function() { if (paused) { return; } if (this.hitTest(ices)) { this.removeMovieClip(); } if (this._x < this.left || this._x > this.right) { this.speed *= -1; } this._x += this.speed; if (igeman_mc.hitTest(this._x + platform._x, this._y - 50, true)) { speed -= .4; } if (platform._x < -this._x - pRight + pLeft - 80) { this.removeMovieClip(); } }; } } <forum_subtle/>