Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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();

}

}

 

 

}

}






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных