OSDN Git Service

武器を持っていないときに、武器が選択されていませんと表示されるように。
authorttwilb <ttwilb@users.sourceforge.jp>
Mon, 2 Sep 2013 15:16:31 +0000 (00:16 +0900)
committerttwilb <ttwilb@users.sourceforge.jp>
Mon, 2 Sep 2013 15:16:31 +0000 (00:16 +0900)
www/corelib/classes/CharacterClass.js

index 9599135..8aad57a 100644 (file)
@@ -1,18 +1,18 @@
-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;
@@ -32,7 +32,7 @@ var CharacterClass = function(ownerStage, args)
                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];
        }
@@ -41,9 +41,9 @@ var CharacterClass = function(ownerStage, args)
        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
@@ -54,11 +54,11 @@ var CharacterClass = function(ownerStage, args)
                                        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();
                }
        },
@@ -66,7 +66,7 @@ var CharacterClass = function(ownerStage, args)
                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){
@@ -78,7 +78,7 @@ var CharacterClass = function(ownerStage, args)
                                                }
                                                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{
@@ -110,6 +110,14 @@ var CharacterClass = function(ownerStage, args)
                                        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);
                                }
                        }
                }