OSDN Git Service

TeleportMachine 鋳型
authorttwilb <ttwilb@users.sourceforge.jp>
Wed, 4 Sep 2013 12:23:21 +0000 (21:23 +0900)
committerttwilb <ttwilb@users.sourceforge.jp>
Wed, 4 Sep 2013 12:23:21 +0000 (21:23 +0900)
www/corelib/classes/FreeItemClass.js
www/corelib/classes/TeleportMachineClass.js [new file with mode: 0644]
www/corelib/header.js
www/images/teleport.png [new file with mode: 0644]

index 6f90580..1262def 100644 (file)
@@ -29,6 +29,8 @@ var FreeItemClass = function(stage, args){
        
        this.isPhantom = true;
        this.debugMode = false;
+       this.size.x = 32;
+       this.size.y = 32;
        
        this.isDisabled = false;
        this.isTouching = false;
@@ -39,7 +41,7 @@ var FreeItemClass = function(stage, args){
        draw: function(x, y){
                if(this.image){
                        this.ownerStage.mainContext.globalAlpha = this.opacity;
-                       this.ownerStage.mainContext.drawImage(this.image, x, y, 32, 32);
+                       this.ownerStage.mainContext.drawImage(this.image, x, y, this.size.x, this.size.y);
                        this.ownerStage.mainContext.globalAlpha = 1.0;
                }
                if(this.debugMode && this.times > 0){
diff --git a/www/corelib/classes/TeleportMachineClass.js b/www/corelib/classes/TeleportMachineClass.js
new file mode 100644 (file)
index 0000000..f169488
--- /dev/null
@@ -0,0 +1,80 @@
+// args[0] : \83X\83e\81[\83W\96¼\82ð\95Ô\82·\8aÖ\90\94\81Bnull\82ð\8ew\92è\82·\82é\82Æ\83L\83\83\83\93\83Z\83\8b
+
+var TeleportMachineClass = function(stage, args)
+{
+       var that = this;
+       this.modalFunc = function(){
+               that.teleporting = true;
+               that.teleportTick = 0;
+       };
+       
+       
+       TeleportMachineClass.base.apply(this, [stage, ["teleport.png", function(){
+               var ret = args[0]();
+               if(ret)
+               {
+                       that.ownerStage.manager.pauseStage(that.tick, that.modalFunc);
+               }
+       }]]);
+       
+       this.times = -1;
+       this.touchInterval = 180;
+       this.mustSelectKey = true;
+       this.size.x = 96;
+       this.size.y = 256;
+       
+       this.teleporting = false;
+       this.teleportTick = 0;
+       
+       this.blindHeight = 0;
+       
+       this.tickCount = 0;
+       
+}.extend(FreeItemClass, {
+       tick:function()
+       {
+               TeleportMachineClass.base.tick.apply(this, []);
+               var mainCharacter = this.ownerStage.userControlledCharacter;    //139
+                       
+               if(this.teleporting)
+               {
+                       if(++this.tickCount < 10) return;
+                       this.tickCount = 0;
+                       console.log(this.teleportTick);
+                       if(this.teleportTick < 42)      //\83e\83\8c\83|\81[\83g\83}\83V\83\93\82Ü\82Å\8fã\82é
+                       {
+                               mainCharacter.origin.x = this.origin.x + (this.size.x - mainCharacter.size.x) / 2;
+                               mainCharacter.origin.y = this.origin.y + this.size.y - mainCharacter.size.y - this.teleportTick;
+                       }else if(this.teleportTick < 45)        //\82·\82±\82µ\82Ü\82Â
+                       {
+                       
+                       }else   //\90U\93®\8aJ\8en
+                       {
+                               this.forceTopMost = true;
+                               mainCharacter.origin.x = this.origin.x + (this.size.x - mainCharacter.size.x) / 2 + (this.teleportTick % 2 = 0 ? -3 : 3);
+                               if(this.teleportTick < 55)      //\90U\93®\82µ\82½\82Ü\82Ü\91Ò\82Â
+                               {
+                               }else if(this.teleportTick < 65)        //\83u\83\89\83C\83\93\83h\82ª\95Â\82\82é
+                               {
+                                       this.blindHeight += 5;
+                               }else if(this.teleportTick < 93)        //\8dÄ\93x\91Ò\82Â
+                               {
+                               }else
+                               {
+                                       //\88Ú\93®!
+                                       this.teleporting = false;
+                                       showAlert(this.ownStage.manager, "\88Ú\93®\82µ\82Ü\82µ\82½");
+                               }
+                       }
+                       
+                       this.teleportTick++;
+               }
+       },
+       draw:function(x, y){
+               TeleportMachineClass.base.prototype.draw.apply(this, [x, y]);
+               this.ownerStage.mainContext.save();
+               this.ownerStage.mainContext.fillStyle = "#4b97f2";
+               this.ownerStage.mainContext.fillRect(0, 215 - this.blindHeight, this.size.x, this.blindHeight);
+               this.ownerStage.mainContext.restore();
+       }
+});
\ No newline at end of file
index 2026ab9..2b1a328 100644 (file)
@@ -31,6 +31,7 @@ document.write("<script type='text/javascript' src='corelib/classes/OperatedChar
 document.write("<script type='text/javascript' src='corelib/classes/EnemyCharacterClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/FireObjectClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/BreadItemWidgetClass.js'></script>");
+document.write("<script type='text/javascript' src='corelib/classes/TeleportMachineClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/EnemyCharacters/EnemyCharacterClass_Bear.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/EnemyCharacters/EnemyCharacterClass_Farmer.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/EnemyCharacters/EnemyCharacterClass_FastHotoke.js'></script>");
diff --git a/www/images/teleport.png b/www/images/teleport.png
new file mode 100644 (file)
index 0000000..a6fd6bd
Binary files /dev/null and b/www/images/teleport.png differ