STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228066
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/54839512?noj=FRM54839512-27DC" width="1" height="1"></div>

Space Destroyer!!!1.swf

This is the info page for
Flash #56706

(Click the ID number above for more basic data on this flash file.)


Text
Pause

Press "p" to resume

H

S

E

SCORE

Lives

ActionScript [AS1/AS2]

Frame 1
stop();
Frame 2
function trackMouseMovement() { trackHeroPositionToMouse(); } function trackMouseClick() { shoot(); } function mainLine() { if (paused) { return(undefined); } updateSimulation(); render(); } function updateSimulation() { updateHero(); updateBullets(); updateEnergy(); updateShield(); updateHull(); updateEnemies(); checkCollisions(); } function render() { renderHero(); renderBullets(); renderEnergy(); renderShield(); renderHull(); renderEnemies(); updateUi(); } function checkCollisions() { var _local7 = bullets.length - 1; while (_local7 >= 0) { var _local3 = bullets[_local7]; var _local9 = _local3[X_POSITION]; var _local8 = _local3[Y_POSITION]; var _local6 = false; if (_local3[OWNER] == "hero") { var _local1 = enemies.length - 1; while (_local1 >= 0) { var _local2 = enemies[_local1]; var _local5 = _local2[X_POSITION]; var _local4 = _local2[Y_POSITION]; var _local10 = distanceBetween2DPoints(_local9, _local8, _local5, _local4, false); if (_local10 <= enemyCollisionDistance) { _local6 = true; deadEnemyCounter++; enemies.splice(_local1, 1); _local2[CLIP_HANDLE].removeMovieClip(); break; } _local1--; } } else if (_local3[OWNER] == "enemy") { var _local10 = distanceBetween2DPoints(_local9, _local8, heroXPosition, heroYPosition, false); if (_local10 <= heroCollisionDistance) { _local6 = true; shield = shield - shieldDamagePerHit; if (shield < minShield) { hull = hull - (minShield - shield); if (hull < minHull) { hull = minHull; } shield = minShield; } } } if (_local6) { bullets.splice(_local7, 1); _local3[CLIP_HANDLE].removeMovieClip(); bulletHits++; } _local7--; } } function updateUi() { scoreText.text = deadEnemyCounter * 10; livesText.text = lives; } function toggleFiringMode() { if (firingMode == SINGLE_FIRE) { firingMode = DUAL_FIRE; } else if (firingMode == DUAL_FIRE) { firingMode = QUAD_FIRE; } else if (firingMode == QUAD_FIRE) { firingMode = SINGLE_FIRE; } } function togglePause() { if (paused) { resumeGame(); } else { pauseGame(); } } function pauseGame() { paused = true; var _local1 = parent.attachMovie("PauseMenu", "PauseMenu", workingDepth++); _local1._x = 0; _local1._y = 0; _local1._alpha = 50; } function resumeGame() { paused = false; parent.PauseMenu.removeMovieClip(); } function updateEnergy() { if (energy < maxEnergy) { energy = energy + currentEnergyRegenRate; } currentEnergyRegenRate = currentEnergyRegenRate + energyRegenRate; if (energy > maxEnergy) { energy = maxEnergy; } } function renderEnergy() { var _local1 = energy * 3; energyBar._y = originalEnergyBarYPosition - _local1; energyBar._height = _local1; } function updateShield() { if (shield < maxShield) { shield = shield + shieldRegenRate; } if (shield > shield) { shield = maxShield; } } function renderShield() { var _local1 = shield * 3; shieldBar._y = originalShieldBarYPosition - _local1; shieldBar._height = _local1; hero.shield._alpha = shield; } function updateHull() { } function renderHull() { var _local1 = hull * 3; hullBar._y = originalHullBarYPosition - _local1; hullBar._height = _local1; } function trackHeroPositionToMouse() { var _local4 = _xmouse; var _local3 = _ymouse; var _local6 = hero._x; var _local5 = hero._y; if (_local3 > mouseYEndPosition) { _local3 = mouseYEndPosition; } var _local2 = determineAngleBetweenPoints(_local4, _local6, _local3, _local5); if (_local2 < 0) { _local2 = _local2 + (Math.PI*2); } var _local1 = 0; if (_local2 > heroAngle) { _local1 = heroAngle + heroRotationSpeed; if (_local1 > _local2) { _local1 = _local2; } } else { _local1 = heroAngle - heroRotationSpeed; if (_local1 < _local2) { _local1 = _local2; } } if (_local1 >= heroMaxAngle) { _local1 = heroMaxAngle; } else if (_local1 <= heroMinAngle) { _local1 = heroMinAngle; } heroAngle = _local1; heroStopXPosition = _local4; } function shoot() { var _local6 = getTimer(); if (_local6 > timeAtNextShot) { var _local4 = null; if (firingMode == QUAD_FIRE) { _local4 = new Array(4); _local4[0] = guns[0]; _local4[1] = guns[1]; _local4[2] = guns[2]; _local4[3] = guns[3]; } else if (firingMode == DUAL_FIRE) { _local4 = new Array(2); if (currentFiringPair == INNER_GUN_PAIR) { currentFiringPair = OUTER_GUN_PAIR; _local4[0] = guns[0]; _local4[1] = guns[1]; } else { currentFiringPair = INNER_GUN_PAIR; _local4[0] = guns[2]; _local4[1] = guns[3]; } } else if (firingMode == SINGLE_FIRE) { _local4 = new Array(1); _local4[0] = guns[currentGun]; currentGun++; if (currentGun > 3) { currentGun = 0; } } var _local5 = _local4.length; if (energy <= (energyPerShot * _local5)) { return(undefined); } timeAtNextShot = _local6 + (minDelayBetweenShots * _local5); bulletCounter++; currentEnergyRegenRate = energyRegenRate; energy = energy - (energyPerShot * _local5); var _local2 = 0; while (_local2 < _local5) { var currentGun = _local4[_local2]; var _local1 = new Array(); _local1[X_POSITION] = (heroXPosition + (currentGun[X_OFFSET] * Math.cos(heroAngle - (Math.PI/2)))) + (currentGun[Y_OFFSET] * Math.cos(heroAngle)); _local1[Y_POSITION] = (heroYPosition + (currentGun[X_OFFSET] * Math.sin(heroAngle - (Math.PI/2)))) + (currentGun[Y_OFFSET] * Math.sin(heroAngle)); var _local3 = heroAngle + currentGun[ANGLE_OFFSET]; _local1[X_VELOCITY] = bulletSpeed * Math.cos(_local3); _local1[Y_VELOCITY] = bulletSpeed * Math.sin(_local3); _local1[ROTATION] = _local3; _local1[OWNER] = "hero"; _local1[CLIP_HANDLE] = null; bullets.push(_local1); _local2++; } } } function updateHero() { var _local2 = Math.abs(heroStopXPosition - heroXPosition); if (_local2 <= heroXSpeed) { heroXPosition = heroStopXPosition; } else { var _local1 = heroXSpeed; if (heroStopXPosition < heroXPosition) { _local1 = _local1 * -1; } heroXPosition = heroXPosition + Math.round(_local1); } trackHeroPositionToMouse(); } function renderHero() { var _local3 = hero._x; hero._x = heroXPosition; var _local1 = "Straight"; var _local2 = Math.abs(centerHeroAngle - heroAngle); if (_local3 < heroXPosition) { if (heroSmallTurnThreshold >= _local2) { _local1 = "Right"; } else { _local1 = "FarRight"; } } else if (_local3 > heroXPosition) { if (heroSmallTurnThreshold >= _local2) { _local1 = "Left"; } else { _local1 = "FarLeft"; } } hero.gotoAndPlay(_local1); hero._rotation = radiansToDegrees(heroAngle); } function updateBullets() { var _local2 = 0; while (_local2 < bullets.length) { var _local1 = bullets[_local2]; _local1[X_POSITION] = _local1[X_POSITION] + _local1[X_VELOCITY]; _local1[Y_POSITION] = _local1[Y_POSITION] + _local1[Y_VELOCITY]; _local2++; } } function renderBullets() { var _local3 = bullets.length - 1; while (_local3 >= 0) { var _local2 = bullets[_local3]; var _local5 = _local2[X_POSITION]; var _local4 = _local2[Y_POSITION]; var _local1 = _local2[CLIP_HANDLE]; if (_local1 == null) { _local1 = parent.attachMovie("Bullet", "bullet" + bulletCounter, workingDepth++); _local2[CLIP_HANDLE] = _local1; _local1._rotation = radiansToDegrees(_local2[ROTATION]); } if ((((_local5 < 0) || (_local5 > stageWidth)) || (_local4 < 0)) || (_local4 > stageHeight)) { bulletMisses++; bullets.splice(_local3, 1); _local1.removeMovieClip(); } else { _local1._x = Math.round(_local5); _local1._y = Math.round(_local4); } _local3--; } } function updateEnemies() { if (getTimer() >= timeAtNextEnemy) { enemyCounter++; timeAtNextEnemy = getTimer() + randomNumberInRange(minTimeBetweenEnemies, maxTimeBetweenEnemies); var _local1 = new Array(); _local1[X_POSITION] = randomNumberInRange(0, stageWidth - (enemyXOffset * 2)) + enemyXOffset; _local1[Y_POSITION] = -30; _local1[X_VELOCITY] = 0; _local1[Y_VELOCITY] = randomNumberInRange(minEnemyFallRate, maxEnemyFallRate); _local1[TIME_AT_NEXT_SHOT] = getTimer() + randomNumberInRange(minTimeBetweenEnemyShots, maxTimeBetweenEnemyShots); _local1[CLIP_HANDLE] = null; enemies.push(_local1); } var _local4 = getTimer(); var _local3 = 0; while (_local3 < enemies.length) { var _local1 = enemies[_local3]; _local1[X_POSITION] = _local1[X_POSITION] + _local1[X_VELOCITY]; _local1[Y_POSITION] = _local1[Y_POSITION] + _local1[Y_VELOCITY]; if (_local1[TIME_AT_NEXT_SHOT] < _local4) { var _local2 = new Array(); _local2[X_POSITION] = _local1[X_POSITION]; _local2[Y_POSITION] = _local1[Y_POSITION] + enemyBarrelLength; _local2[X_VELOCITY] = 0; _local2[Y_VELOCITY] = bulletSpeed; _local2[ROTATION] = degreesToRadians(90); _local2[CLIP_HANDLE] = null; _local2[OWNER] = "enemy"; bullets.push(_local2); _local1[TIME_AT_NEXT_SHOT] = getTimer() + randomNumberInRange(minTimeBetweenEnemyShots, maxTimeBetweenEnemyShots); } _local3++; } } function renderEnemies() { var _local3 = enemies.length - 1; while (_local3 >= 0) { var _local2 = enemies[_local3]; var _local4 = _local2[X_POSITION]; var _local5 = _local2[Y_POSITION]; var _local1 = _local2[CLIP_HANDLE]; if (_local1 == null) { _local1 = parent.attachMovie("Enemy", "enemy" + enemyCounter, workingDepth++); _local2[CLIP_HANDLE] = _local1; } if (((_local4 < 0) || (_local4 > stageWidth)) || (_local5 > stageHeight)) { enemies.splice(_local3, 1); _local1.removeMovieClip(); escapedEnemyCounter++; } else { _local1._x = Math.round(_local4); _local1._y = Math.round(_local5); } _local3--; } } function determineAngleBetweenPoints(x1, x2, y1, y2) { var _local2 = x1 - x2; var _local3 = y1 - y2; var _local1 = Math.atan2(_local3, _local2); return(_local1); } function radiansToDegrees(radians) { var _local1 = radians * 57.2957795130823; return(_local1); } function degreesToRadians(degrees) { var _local1 = degrees * (Math.PI/180); return(_local1); } function randomNumberInRange(min, max) { var _local2 = max - min; var _local1 = Math.floor((Math.random() * _local2) + min); return(_local1); } function distanceBetween2DPoints(x1, y1, x2, y2, useSqrt) { var _local2 = x2 - x1; var _local3 = y2 - y1; var _local1 = (_local2 * _local2) + (_local3 * _local3); if (useSqrt) { _local1 = Math.sqrt(_local1); } return(_local1); } var centerHeroAngle = degreesToRadians(270); var heroAngle = centerHeroAngle; var heroXPosition = hero._x; var heroYPosition = hero._y; var bullets = new Array(); var timeAtNextShot = getTimer(); var bulletCounter = 0; var bulletHits = 0; var bulletMisses = 0; var enemies = new Array(); var enemyCounter = 0; var deadEnemyCounter = 0; var escapedEnemyCounter = 0; var timeAtNextEnemy = (getTimer() + 3000); var parent = _root; var workingDepth = 1000; var lives = 3; var paused = false; var heroXSpeed = 8; var heroRotationSpeed = degreesToRadians(2); var heroMinAngle = degreesToRadians(250); var heroMaxAngle = degreesToRadians(290); var heroSmallTurnThreshold = degreesToRadians(10); var maxEnergy = 100; var energy = maxEnergy; var minEnergy = 0; var energyPerShot = 2; var energyRegenRate = 0.006; var currentEnergyRegenRate = energyRegenRate; var originalEnergyBarYPosition = energyBar._y; var maxShield = 100; var minShield = 0; var shield = maxShield; var shieldDamagePerHit = 40; var shieldRegenRate = 0.1; var originalShieldBarYPosition = shieldBar._y; var maxHull = 100; var minHull = 0; var hull = maxHull; var hullDamagePerHit = 40; var originalHullBarYPosition = hullBar._y; var stageWidth = 640; var stageHeight = 480; var mouseYEndPosition = 350; var minDelayBetweenShots = 85; var bulletSpeed = 16; var minTimeBetweenEnemies = 500; var maxTimeBetweenEnemies = 2000; var minEnemyFallRate = 1; var maxEnemyFallRate = 5; var enemyXOffset = 30; var enemyBarrelLength = 15; var minTimeBetweenEnemyShots = 1000; var maxTimeBetweenEnemyShots = 3000; var enemyRadius = 22; var heroRadius = 64; var bulletRadius = 3; var enemyCollisionDistance = ((enemyRadius + bulletRadius) * (enemyRadius + bulletRadius)); var heroCollisionDistance = ((heroRadius + bulletRadius) * (heroRadius + bulletRadius)); var X_POSITION = 0; var Y_POSITION = 1; var X_VELOCITY = 2; var Y_VELOCITY = 3; var ROTATION = 4; var OWNER = 5; var CLIP_HANDLE = 6; var TIME_AT_NEXT_SHOT = 7; var X_OFFSET = 0; var Y_OFFSET = 1; var ANGLE_OFFSET = 2; var guns = new Array(); guns[0] = new Array(); guns[0][X_OFFSET] = 3; guns[0][Y_OFFSET] = 38; guns[0][ANGLE_OFFSET] = degreesToRadians(0.4); guns[1] = new Array(); guns[1][X_OFFSET] = -3; guns[1][Y_OFFSET] = 38; guns[1][ANGLE_OFFSET] = degreesToRadians(-0.4); guns[2] = new Array(); guns[2][X_OFFSET] = 42; guns[2][Y_OFFSET] = -2; guns[2][ANGLE_OFFSET] = degreesToRadians(5.5); guns[3] = new Array(); guns[3][X_OFFSET] = -42; guns[3][Y_OFFSET] = -2; guns[3][ANGLE_OFFSET] = degreesToRadians(-5.5); var SINGLE_FIRE = 0; var DUAL_FIRE = 1; var QUAD_FIRE = 2; var firingMode = SINGLE_FIRE; var INNER_GUN_PAIR = 0; var OUTER_GUN_PAIR = 1; var currentFiringPair = INNER_GUN_PAIR; var currentGun = 0; _root.onEnterFrame = mainLine; var mouseListener = new Object(); mouseListener.onMouseMove = function () { trackMouseMovement(); }; mouseListener.onMouseUp = function () { trackMouseClick(); }; Mouse.addListener(mouseListener); var keyListener = new Object(); keyListener.onKeyUp = function () { var _local1 = chr(Key.getAscii()); if ((_local1 == "p") || (_local1 == "P")) { togglePause(); } else if ((_local1 == "m") || (_local1 == "M")) { toggleFiringMode(); } }; Key.addListener(keyListener); stop();
Symbol 13 Button
on (release) { _root.gotoAndStop(2); }
Symbol 18 Button
on (release) { stopAllSounds(); }
Symbol 35 MovieClip Frame 1
collisionShape1._alpha = 0; collisionShape2._alpha = 0; collisionShape3._alpha = 0; collisionShape4._alpha = 0; collisionShape5._alpha = 0; collisionShape6._alpha = 0; stop();
Symbol 35 MovieClip Frame 2
stop();
Symbol 35 MovieClip Frame 3
stop();
Symbol 35 MovieClip Frame 4
stop();
Symbol 35 MovieClip Frame 5
stop();

Library Items

Symbol 1 GraphicUsed by:2
Symbol 2 MovieClip [Bullet]Uses:1
Symbol 3 BitmapUsed by:4
Symbol 4 GraphicUses:3Used by:5
Symbol 5 MovieClip [Enemy]Uses:4
Symbol 6 GraphicUsed by:10 31
Symbol 7 FontUsed by:8 9
Symbol 8 EditableTextUses:7Used by:10
Symbol 9 EditableTextUses:7Used by:10
Symbol 10 MovieClip [PauseMenu]Uses:6 8 9
Symbol 11 GraphicUsed by:Timeline
Symbol 12 GraphicUsed by:13
Symbol 13 ButtonUses:12Used by:Timeline
Symbol 14 SoundUsed by:Timeline
Symbol 15 BitmapUsed by:16
Symbol 16 GraphicUses:15Used by:Timeline
Symbol 17 GraphicUsed by:18
Symbol 18 ButtonUses:17Used by:Timeline
Symbol 19 FontUsed by:20 25 28 36 37 38 39
Symbol 20 EditableTextUses:19Used by:Timeline
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClipUses:21Used by:Timeline
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClipUses:23Used by:Timeline
Symbol 25 EditableTextUses:19Used by:Timeline
Symbol 26 GraphicUsed by:27
Symbol 27 MovieClipUses:26Used by:Timeline
Symbol 28 EditableTextUses:19Used by:Timeline
Symbol 29 BitmapUsed by:30
Symbol 30 GraphicUses:29Used by:35
Symbol 31 MovieClipUses:6Used by:35
Symbol 32 BitmapUsed by:33
Symbol 33 GraphicUses:32Used by:34
Symbol 34 MovieClipUses:33Used by:35
Symbol 35 MovieClipUses:30 31 34Used by:Timeline
Symbol 36 EditableTextUses:19Used by:Timeline
Symbol 37 EditableTextUses:19Used by:Timeline
Symbol 38 EditableTextUses:19Used by:Timeline
Symbol 39 EditableTextUses:19Used by:Timeline

Instance Names

"hullBar"Frame 2Symbol 22 MovieClip
"shieldBar"Frame 2Symbol 24 MovieClip
"energyBar"Frame 2Symbol 27 MovieClip
"hero"Frame 2Symbol 35 MovieClip
"scoreText"Frame 2Symbol 37 EditableText
"livesText"Frame 2Symbol 39 EditableText
"collisionShape1"Symbol 35 MovieClip Frame 1Symbol 31 MovieClip
"collisionShape2"Symbol 35 MovieClip Frame 1Symbol 31 MovieClip
"collisionShape3"Symbol 35 MovieClip Frame 1Symbol 31 MovieClip
"collisionShape4"Symbol 35 MovieClip Frame 1Symbol 31 MovieClip
"collisionShape5"Symbol 35 MovieClip Frame 1Symbol 31 MovieClip
"collisionShape6"Symbol 35 MovieClip Frame 1Symbol 31 MovieClip
"shield"Symbol 35 MovieClip Frame 1Symbol 34 MovieClip

Special Tags

ExportAssets (56)Timeline Frame 1Symbol 2 as "Bullet"
ExportAssets (56)Timeline Frame 1Symbol 5 as "Enemy"
ExportAssets (56)Timeline Frame 1Symbol 10 as "PauseMenu"

Labels

"Straight"Symbol 35 MovieClip Frame 1
"FarRight"Symbol 35 MovieClip Frame 2
"FarLeft"Symbol 35 MovieClip Frame 3
"Right"Symbol 35 MovieClip Frame 4
"Left"Symbol 35 MovieClip Frame 5




http://swfchan.com/12/56706/info.shtml
Created: 19/4 -2019 02:35:14 Last modified: 19/4 -2019 02:35:14 Server time: 27/04 -2024 17:26:02