-var CharacterClass = function(ownerStage, args)
+var CharacterClass = function(ownerStage, args)
{
- //args[imgAry0, ...]\8f\89\8aú\8fó\91Ô\82Å\95`\89æ\82µ\82½\82¢\89æ\91\9c\82Ì\83t\83@\83C\83\8b\96¼\82Ì\94z\97ñ\81i\83A\83j\83\81\81[\83V\83\87\83\93\82³\82¹\82é\81j\82ð\8ew\92è
+ //args[imgAry0, ...]初期状態で描画したい画像のファイル名の配列(アニメーションさせる)を指定
CharacterClass.base.apply(this, arguments);
- //\83L\83\83\83\89\93Æ\8e©\82Ì\8b@\94\\81i\82½\82Æ\82¦\82Î\8dU\8c\82\82â\91\8a\8eè\82ª\93\96\82½\82Á\82Ä\82«\82½\82Æ\82«\82Ì\82 \82½\82è\94»\92è\82È\82Ç)
+ //キャラ独自の機能(たとえば攻撃や相手が当たってきたときのあたり判定など)
this.interval = 15;
this.imageState = -1;
- //-1:\89æ\91\9c\82Í\96³\8cø
- // 0:\8d¶\89E\95à\8ds\92\86\82Ü\82½\82Í\8d¶\89E\95û\8cü\82É\8cü\82¢\82Ä\92â\8e~\92\86\81i\95û\8cü\82É\8aÖ\8cW\82È\82µ\81B\89æ\91\9c\82Í\82·\82×\82Ä\8d¶\8cü\82«\82Å\97p\88Ó\82·\82é\81B\81j
- // 1:\8dU\8c\82\83A\83j\83\81\81[\83V\83\87\83\93\81i\88ê\8eü\95ª\95\\8e¦\82µ\82½\82ç0\82É\96ß\82é\81j
+ //-1:画像は無効
+ // 0:左右歩行中または左右方向に向いて停止中(方向に関係なし。画像はすべて左向きで用意する。)
+ // 1:攻撃アニメーション(一周分表示したら0に戻る)
this.imageIndex = 0;
this.imageList = [];
this.lastImage = null;
- //\83L\83\83\83\89\82ª\8cü\82¢\82Ä\82¢\82é\8cü\82«(0:Left,1:Right,[2:Up,3:Down])
+ //キャラが向いている向き(0:Left,1:Right,[2:Up,3:Down])
this.direction = 0;
this.isItemCollector = true;
this.imageState = 0;
}
- //\8f\89\8aú\89æ\91\9c\82Ì\90Ý\92è
+ //初期画像の設定
if(this.imageList[0] && this.imageList[0].length > 0){
this.lastImage = this.imageList[0][0];
}
draw: function(x, y){
MovableStageObjectClass.prototype.draw.apply(this, arguments);
if(this.lastImage){
- //\83R\83\93\83e\83L\83X\83g\95Ï\8a·\8ds\97ñ\82ð\95Û\91¶
+ //コンテキスト変換行列を保存
this.ownerStage.mainContext.save();
- //\83R\83\93\83e\83L\83X\83g\95Ï\8a·\8ds\97ñ\82ð\90Ý\92è
+ //コンテキスト変換行列を設定
switch(this.direction){
case 1:
//Right
this.ownerStage.mainContext.transform(1, 0, 0, 1, x, y);
break;
}
- //\95`\89æ
+ //描画
this.ownerStage.mainContext.globalAlpha = this.opacity;
this.ownerStage.mainContext.drawImage(this.lastImage, 0, 0, this.size.x, this.size.y);
this.ownerStage.mainContext.globalAlpha = 1.0;
- //\83R\83\93\83e\83L\83X\83g\95Ï\8a·\8ds\97ñ\82ð\95\9c\8bA
+ //コンテキスト変換行列を復帰
this.ownerStage.mainContext.restore();
}
},
MovableStageObjectClass.prototype.tick.apply(this, []);
if(this.ownerStage.manager.tickCount % this.interval == 0){
- //\83C\83\93\83^\81[\83o\83\8b\8e\9e\8d\8f\82É\82È\82Á\82½
+ //インターバル時刻になった
if(this.imageState != -1){
if(this.imageList[this.imageState]){
if(this.imageList[this.imageState].length > 0){
}
this.lastImage = this.imageList[this.imageState][this.imageIndex];
if(!(this.imageState == 0 && this.movingSpeed.x == 0)){
- //imageState:0\82Ì\8e\9e\82Éspeed == 0\82Ì\82Æ\82«\82Í\89æ\91\9c\82ð\83A\83j\83\81\82µ\82È\82¢\81B\82»\82ê\88È\8aO\82Ì\8e\9e\82Í\83C\83\93\83f\83b\83N\83X\82ð\90i\82ß\82é\81B
+ //imageState:0の時にspeed == 0のときは画像をアニメしない。それ以外の時はインデックスを進める。
this.imageIndex ++;
}
} else{
this.touchDamage *= (score / 50);
f.fire(this);
this.lastFireTick = this.ownerStage.manager.tickCount;
+ }else
+ {
+ var w = new TextWidgetClass(this.ownerStage.manager, ["武器が選択されていません。", false, false, false, 'red']);
+ w.wBox.style.height = 64 + "px";
+ w.wBox.style.top = 406 + "px";
+ this.ownerStage.manager.addWidget(w);
+ var that = this;
+ window.setTimeout(function(){that.ownerStage.manager.removeWidget(w)}, 500);
}
}
}