OSDN Git Service

PCDStageLanguageとりあえず完成
authorttwilb <ttwilb@users.sourceforge.jp>
Mon, 5 Aug 2013 05:41:33 +0000 (14:41 +0900)
committerttwilb <ttwilb@users.sourceforge.jp>
Mon, 5 Aug 2013 05:41:33 +0000 (14:41 +0900)
www/corelib/classes/GameStageClass.js
www/corelib/classes/HorizonalScrollStageClass.js
www/corelib/classes/MovableStageObjectClass.js
www/corelib/classes/PCDSLStageClass.js [new file with mode: 0644]
www/corelib/header.js

index d6e9df9..c2236a3 100644 (file)
@@ -79,9 +79,9 @@ GameStage.prototype = {
                for(var sp in this.stageObjectList)
                {
                        //\8e\9f\82É\8ae\8eíStageObject\82Ìdraw\82ð\8eÀ\8ds
-                       for(i = 0; i < this.stageObjectList[sp].length; i++){
-                               
+                       for(i = 0, li = this.stageObjectList[sp].length; i < li; i++){
                                var stgobj = this.stageObjectList[sp][i];
+                               //console.log(this.stageObjectList[sp]);
                                stgobj.draw(stgobj.origin.x - x, stgobj.origin.y - y);
                                
                        }
@@ -110,7 +110,6 @@ GameStage.prototype = {
                this.stageObjectList = null;
        },
        addStageObject: function(aStageObject){
-       
                var sp = aStageObject.constructor;
                if(!this.stageObjectList[sp])
                {
@@ -120,7 +119,7 @@ GameStage.prototype = {
        },
        removeStageObject: function(aStageObject){
                var sp = aStageObject.constructor;
-               if(this.stageObjectList[sp])
+               if(sp in this.stageObjectList)
                {
                        removeObjectFromArray(this.stageObjectList[sp], aStageObject);
                        if(this.stageObjectList[sp].length == 0)
index a8d4e60..d9eca9c 100644 (file)
@@ -4,18 +4,19 @@ var HorizonalScrollStageClass = function(opCharacter)
        HorizonalScrollStageClass.base.apply(this, []);
        
        //\8c»\8dÝ\91\80\8dì\91Î\8fÛ\82É\82È\82Á\82Ä\82¢\82é\83L\83\83\83\89\83N\83^\81[\81B
-       var /* OperatedCaracterClass */ OperatingCharacter = opCharacter;
+       this.operatingCharacter = opCharacter;
        
        //\94w\8ci\82Ì\89æ\91\9c
-       var background = null;
+       this.background = null;
        
-       var scrollX = 0;
-       var scrollMaxX =1280 - 640;     //\83X\83e\81[\83W\82Ì\89¡\82Ì\92·\82³-640
+       this.scrollX = 0;
+       this.scrollMaxX =1280 - 640;    //\83X\83e\81[\83W\82Ì\89¡\82Ì\92·\82³-640
        
 }.extend(GameStage, {
        timerTick: function(){
-               this.constructor.base.timerTick.call(this);
-               this.scrollX = opCharacter.origin.x;
+       //console.log(  HorizonalScrollStageClass.base);
+               HorizonalScrollStageClass.base.prototype.timerTick.call(this);
+               if(this.operatingCharacter)     this.scrollX = this.operatingCharacter.origin.x;
                if(this.scrollX > this.scrollMaxX) this.scrollX = this.scrollMaxX;
        },
        draw: function()
index 1ece096..706e8c8 100644 (file)
@@ -52,7 +52,8 @@ var MovableStageObjectClass = function(stage)
                        this.movingSpeed.y = -this.movingSpeed.y;
                }
 
-       }
+       },
+       draw : function(){}
 });
 
 //child : CharacterClass
diff --git a/www/corelib/classes/PCDSLStageClass.js b/www/corelib/classes/PCDSLStageClass.js
new file mode 100644 (file)
index 0000000..950379c
--- /dev/null
@@ -0,0 +1,48 @@
+
+var PCDSLStageClass = function(stgInfo, tbl, mainCharacter)
+{
+       PCDSLStageClass.base.apply(this, [mainCharacter]);
+
+       //initalize process
+       with(stgInfo)
+       {
+               if(stgInfo.width)       this.scrollMaxX = (width - 640 >= 0 ? width - 640 : 0);
+               if(stgInfo.background)
+               {
+                       var back = document.createElement('img');
+                       back.src = "images/" + background;
+                       this.background = back;
+               }
+       }
+       
+       var lx, ly, x, y;
+       for(y = 0, ly = tbl.length; y < ly; y++)
+       {
+               for(x = 0, lx = tbl[y].length; x < lx; x++)
+               {
+                       var item = tbl[y][x];
+                       var obj;
+                       
+                       //item\82ª {class: ... , args : ...}\82Ì\8c`\8e®\82Å\82 \82é\82©\8am\94F
+                       if(item.base && item.args)
+                       {
+                               //\83R\83\93\83X\83g\83\89\83N\83^\82Ì\88ø\90\94\82à\8ew\92è\82³\82ê\82Ä\82¢\82é
+                               obj = eval("new item(" + item.args.join(',') + ")");
+                       }else
+                       {
+                               //\88ø\90\94\82ð\8ew\92è\82µ\82È\82¢ --- stage\83C\83\93\83X\83^\83\93\83X\82ð\88ø\90\94\82É\82Â\82¯\82é
+                               obj = new item(this);
+                       }
+
+                       
+                       //\94z\92u
+                       obj.origin = new Point2D(x * 32, y * 32);
+                       this.addStageObject(obj);
+               }
+       }
+}.extend(HorizonalScrollStageClass, {
+       
+       
+       
+});
+
index 06b9be3..1bff3a9 100644 (file)
@@ -2,6 +2,7 @@ document.write("<script type='text/javascript' src='corelib/jsbase.js'></script>
 document.write("<script type='text/javascript' src='corelib/core.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/GameStageClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/HorizonalScrollStageClass.js'></script>");
+document.write("<script type='text/javascript' src='corelib/classes/PCDSLStageClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/StageObjectClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/MovableStageObjectClass.js'></script>");
 document.write("<script type='text/javascript' src='corelib/classes/CharacterClass.js'></script>");