1 var EnemyCharacterClass = function(stage, args){
2 EnemyCharacterClass.base.apply(this, arguments);
4 this.movingVelocity = 150;
6 //メインキャラクターを追跡する場合はtrue
8 //メインキャラクターを感知する範囲(原点距離がこれ以内の場合に追跡をする。)
9 this.chasingRange = 200;
11 this.touchDamage = 10;
12 this.damagePerTickBase = 60;
13 this.damagePerTickCount = this.damagePerTickBase;
14 this.damaging = false;
15 }.extend(OperatedCharacterClass, {
16 className: "EnemyCharacterClass",
19 var main = this.ownerStage.userControlledCharacter;
20 var distX = main.origin.x - this.origin.x;
21 if(this.chasing && Math.abs(distX) <= this.chasingRange && Math.abs(this.origin.y - main.origin.y) <= this.chasingRange){
30 if(this.damagePerTickCount == this.damagePerTickBase){
31 this.ownerStage.manager.userManager.damage(this.touchDamage);
33 this.damagePerTickCount--;
34 if(this.damagePerTickCount <= 0){
35 this.damagePerTickCount = this.damagePerTickBase;
40 if(this.origin.y > 1000)
42 this.ownerStage.removeStageObject(this);
45 EnemyCharacterClass.base.prototype.tick.apply(this);
47 isCollided : function(obj, x, y)
49 //MovableStageObjectが(x, y)のとき相手のobjと衝突するか判定
50 var retv = OperatedCharacterClass.prototype.isCollided.apply(this, arguments);
51 if(obj == this.ownerStage.userControlledCharacter){
55 this.damaging = false;
56 this.damagePerTickCount = this.damagePerTickBase;