From d43877d8da59478bb2db7cdbb97472e204e77f65 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E8=A5=BF=E7=94=B0=E3=80=80=E8=80=80?= Date: Mon, 26 Aug 2013 19:05:44 +0900 Subject: [PATCH] =?utf8?q?=E3=83=A1=E3=82=A4=E3=83=B3=E3=82=AD=E3=83=A3?= =?utf8?q?=E3=83=A9=E3=82=AF=E3=82=BF=E3=81=AE=E3=83=91=E3=83=B3=E3=81=A7?= =?utf8?q?=E3=81=AE=E6=94=BB=E6=92=83=E3=81=8C=E4=BD=BF=E3=81=88=E3=82=8B?= =?utf8?q?=E3=82=88=E3=81=86=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F=E3=80=82?= =?utf8?q?=E3=82=B9=E3=83=9A=E3=83=BC=E3=82=B9=E3=82=AD=E3=83=BC=E3=82=92?= =?utf8?q?=E6=8A=BC=E3=81=99=E3=81=A8=E7=99=BA=E5=B0=84=E3=81=97=E3=80=81?= =?utf8?q?=E4=B8=80=E5=9B=9E=E7=99=BA=E5=B0=84=E3=81=99=E3=82=8B=E3=81=A8?= =?utf8?q?=E4=B8=80=E7=A7=92=E9=96=93=E3=81=AF=E6=89=93=E3=81=A6=E3=81=BE?= =?utf8?q?=E3=81=9B=E3=82=93=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- www/corelib/classes/EnemyCharacterClass.js | 20 ++++++++++---------- www/corelib/classes/FireObjectClass.js | 12 +++--------- www/corelib/classes/MainCharacterClass.js | 9 +++++++-- www/corelib/classes/MovableStageObjectClass.js | 2 +- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/www/corelib/classes/EnemyCharacterClass.js b/www/corelib/classes/EnemyCharacterClass.js index cbc542b..8a5ecb9 100644 --- a/www/corelib/classes/EnemyCharacterClass.js +++ b/www/corelib/classes/EnemyCharacterClass.js @@ -10,7 +10,7 @@ var EnemyCharacterClass = function(stage, args){ this.fightingRange = 32; this.chasingMode = 0; this.lastCollidedTick = 0; - //メインキャラクターに与えるダメージの設定 + //他のキャラクターに与えるダメージの設定 this.touchDamage = 10; this.damagePerTickBase = 60; this.damagePerTickCount = this.damagePerTickBase; @@ -60,11 +60,8 @@ var EnemyCharacterClass = function(stage, args){ //自分自身のダメージ if(this.hurting){ if(this.hurtPerTickCount == this.hurtPerTickBase){ - this.HP -= this.hurt; + this.damage(this.hurt); this.hurtPerTickCount--; - if(this.HP <= 0){ - this.ownerStage.removeStageObject(this); - } } else{ this.hurtPerTickCount--; if(this.hurtPerTickCount <= 0){ @@ -90,16 +87,19 @@ var EnemyCharacterClass = function(stage, args){ EnemyCharacterClass.base.prototype.tick.apply(this); }, + damage: function(d){ + //自分自身へのダメージ + this.HP -= d; + if(this.HP <= 0){ + this.ownerStage.removeStageObject(this); + } + }, objectAttacked : function(obj, obj_x, obj_y) { if(obj instanceof MainCharacterClass) { //メインキャラクターに衝突された //ダメージの開始・終了処理 - //console.log(this.collidingDirection.toString(2)); - //if(this.collidingDirection & CollideBody){ - // console.log("b"); - //} if(this.collidingDirection & CollideTop){ if(!this.hurting){ //自分自身のダメージ有効 @@ -115,7 +115,7 @@ var EnemyCharacterClass = function(stage, args){ } } } - this.lastCollidedTick = this.ownerStage.manager.tickCount;; + this.lastCollidedTick = this.ownerStage.manager.tickCount; } }, draw: function(x, y){ diff --git a/www/corelib/classes/FireObjectClass.js b/www/corelib/classes/FireObjectClass.js index dfa4e5b..577562d 100644 --- a/www/corelib/classes/FireObjectClass.js +++ b/www/corelib/classes/FireObjectClass.js @@ -7,6 +7,7 @@ var FireObjectClass = function(stage, args){ this.size.y = 32; this.movingSpeed.y = -this.fireVelocity.y; this.chasingRange = 0; + this.isItemCollector = true; }.extend(EnemyCharacterClass, { className: "FireObjectClass", @@ -29,10 +30,6 @@ var FireObjectClass = function(stage, args){ { //メインキャラクターに衝突された //ダメージの開始・終了処理 - //console.log(this.collidingDirection.toString(2)); - //if(this.collidingDirection & CollideBody){ - // console.log("b"); - //} if(this.collidingDirection & CollideTop){ if(!this.hurting){ //自分自身のダメージ有効 @@ -48,17 +45,14 @@ var FireObjectClass = function(stage, args){ } } } - this.lastCollidedTick = this.ownerStage.manager.tickCount; } if(obj instanceof EnemyCharacterClass) { //ダメージの開始・終了処理 - obj.HP -= this.damage - if(obj.HP <= 0){ - obj.ownerStage.removeStageObject(obj); - } + obj.damage(this.touchDamage); this.ownerStage.removeStageObject(this); } + this.lastCollidedTick = this.ownerStage.manager.tickCount; }, }); diff --git a/www/corelib/classes/MainCharacterClass.js b/www/corelib/classes/MainCharacterClass.js index 0bad0b9..1baea5f 100644 --- a/www/corelib/classes/MainCharacterClass.js +++ b/www/corelib/classes/MainCharacterClass.js @@ -2,6 +2,8 @@ var MainCharacterClass = function(stage, args){ MainCharacterClass.base.apply(this, arguments); this.isItemCollector = true; + this.lastFireTick = 0; + this.fireTickInterval = 60; }.extend(OperatedCharacterClass, { className: "MainCharacterClass", tick : function() @@ -14,8 +16,11 @@ var MainCharacterClass = function(stage, args){ }, fire: function() { - var f = new FireObjectClass(this.ownerStage, [["breadball1.png","breadball2.png","breadball3.png"]]); - f.fire(this); + if(this.lastFireTick < this.ownerStage.manager.tickCount - this.fireTickInterval){ + var f = new FireObjectClass(this.ownerStage, [["breadball1.png","breadball2.png","breadball3.png"]]); + f.fire(this); + this.lastFireTick = this.ownerStage.manager.tickCount; + } } }); diff --git a/www/corelib/classes/MovableStageObjectClass.js b/www/corelib/classes/MovableStageObjectClass.js index 2767603..1cc2448 100644 --- a/www/corelib/classes/MovableStageObjectClass.js +++ b/www/corelib/classes/MovableStageObjectClass.js @@ -137,7 +137,7 @@ var MovableStageObjectClass = function(stage, args) for(var i in this.collectedItems){ var item = this.collectedItems[i]; if(this.objectAttacked){ - this.objectAttacked(obj, obj.origin.x, obj.origin.y); + this.objectAttacked(item, item.origin.x, item.origin.y); } if(item.objectAttacked){ //ƒAƒCƒeƒ€‚ɑ΂µ‚Ď擾‚³‚ꂽ‚±‚Æ‚ð’Ê’m‚·‚éB(Žæ“¾‚µ‚½ƒIƒuƒWƒFƒNƒg‚̃Cƒ“ƒXƒ^ƒ“ƒX‚¨‚æ‚эÀ•Wj -- 2.11.0