ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
DBMS - Database management systems 6 страницаpublic static const MONSTER_START_X_1:Number = 0; public static const MONSTER_START_Y_1:Number = 230; public static const MONSTER_START_X_2:Number = 0; public static const MONSTER_START_Y_2:Number = 330; public static const MONSTER_GOLD:Number = 15; public static const MONSTER_LIFE:Number = 30; public static const MONSTER_SPEED:Number = 2;
public static const BOSS_LIFE:Number = 500; public static const BOSS_SPEED:Number = 1; public static const BOSS_START_X:Number = 2; public static const BOSS_START_Y:Number = 255;
public static const LIFEBAR_MAX_WIDTH:Number = 20;
//Bullets public static const BULLET_SPEED:Number = 5; } }
File name Monster.as:
package Game { import flash.display.MovieClip; import flash.events.*; import flash.geom.*;
public class Monster extends MovieClip { public var currLife:Number; private var maxLife, gold, speed, currIndex, slowTimer:Number; private var checkPoints:Array;
public function Monster() { maxLife = C.MONSTER_LIFE; currLife = maxLife; speed = C.MONSTER_SPEED;
currIndex = 0;
checkPoints = new Array(); checkPoints.push(new Point(0,140)); checkPoints.push(new Point(585,140));
}
public function update() { var finalSpeed:Number;
if (slowTimer > 0) { finalSpeed = speed / 2; slowTimer--; } else finalSpeed = speed;
if (currIndex < checkPoints.length) { //move in the direction of the checkpoint if (this.x < checkPoints[currIndex].x) this.x += Math.min(finalSpeed, Math.abs(this.x - checkPoints[currIndex].x)); else if (this.x > checkPoints[currIndex].x) this.x -= Math.min(finalSpeed, Math.abs(this.x - checkPoints[currIndex].x));
if (this.y < checkPoints[currIndex].y) this.y += Math.min(finalSpeed, Math.abs(this.y - checkPoints[currIndex].y)); else if (this.y > checkPoints[currIndex].y) this.y -= Math.min(finalSpeed, Math.abs(this.y - checkPoints[currIndex].y));
if ((this.x == checkPoints[currIndex].x) && (this.y == checkPoints[currIndex].y)) { currIndex += 1; } }
if (currLife > 0) mcLifeBar.width = Math.floor((currLife/maxLife)* C.LIFEBAR_MAX_WIDTH); else mcLifeBar.width = 0; }
public function takeDamage(amtDamage) { if (this.currLife <= 0) return;
this.currLife -= amtDamage;
if (this.currLife <= 0) { this.gotoAndPlay("death"); } }
public function slowDown(amt) { slowTimer = amt; }
public function hasReachedDestination() { return (this.currIndex == checkPoints.length); } } }
File name Placing.as:
package Game { import flash.display.MovieClip; import flash.events.*; import flash.geom.*;
public class Placing extends MovieClip { public var canPlace:Boolean;
public function Placing() { canPlace = true; this.addEventListener(MouseEvent.CLICK, placeTower); }
public function placeTower(evt:MouseEvent) { this.removeEventListener(MouseEvent.CLICK,placeTower); canPlace = false;
GameController(root).placeTowerAt(this.x, this.y); } } }
File name preloader.as:
package Game { import flash.display.MovieClip; import flash.events.*;
dynamic public class preloader extends MovieClip { public function preloader() {
addEventListener(Event.ENTER_FRAME, Update); }
public function Update(e: Event):void { var bytesLoaded:Number = stage.loaderInfo.bytesLoaded; var bytesTotal:Number = stage.loaderInfo.bytesTotal; var s:String = ""; var percent:Number = 0; if (bytesTotal>0){ percent = Math.floor(bytesLoaded/bytesTotal*100); s = percent+"% ("+ Math.round(bytesLoaded/1024)+"kb / "+ Math.round(bytesTotal/1024)+"kb)"; } this.txt.text="Loading... "+s; this.progressbar.gotoAndStop(percent+1);
if (bytesLoaded==bytesTotal || bytesTotal==0){ removeEventListener(Event.ENTER_FRAME, Update); play(); } }
} } Не нашли, что искали? Воспользуйтесь поиском:
|