2 "[1376850227193,[],[[66,50,0,0,0,'MainCharacterClass','var t=};t;',"var t={0"],],[]]"
3 "[1376850774045,[],[[68,50,0,0,0,'MainCharacterClass','var t={};t;',"var t={0"],],[]]"
4 "[1376851010923,[],[[70,50,0,0,0,'MainCharacterClass','var t={};t;',"var t={0"],],[]]"
5 "[1376851135398,[],[[72,50,0,0,0,'MainCharacterClass','var t={};t;',"var t={0"],],[]]"
6 "[1376851405252,[],[[74,50,0,0,0,"MainCharacterClass","var t={};t;","var t={0"],],[]]"
8 // StageObjectsはステージに文字シンボルとして配置したいオブジェクト定義の連想配列である。
9 // StageObjectの各項目の指定方法は以下の二通りある。
10 // ・クラス名指定 ... コンストラクタがに引数が不要な時
13 // a : {base : FreeItemClass, //鋳型となるクラス名
14 // args : '1190.png', //コンストラクタに指定する引数(一つだけの場合) stageは自動で指定されるので不要
15 // args : ['1190.png', callback], //二つ以上の場合。やはり第一引数のstageは不要
16 // prop : {times : 1}, //各インスタンスに指定したいプロパティの連想配列。(省略可)
17 //この例ではaFreeItemClass.timesプロパティを1に指定している
18 // adjust : [-50, 50], //位置の微調整。必ずX座標、Y座標の相対位置を示す配列にする。(省略可)
19 // extid : 19 //ネットワークを超えて一つのオブジェクトである必要がある場合にはゼロではない値を取る(ステージ内で固有の値, 省略可; 既定0)
20 // sync : true //ネットワーク同期を有効に(addStageObjectの第二引数)(省略可; 既定false)
23 //詳細はdocuments/pcdsl.txtを参照
25 // BlockClass : 普通のブロック。 引数に画像名を指定
26 a : {base:BlockClass,args:'1190.png'},
28 // SlopeBlockClass : 当たり判定が斜めのブロック。
29 // 引数 : 画像名, 当たり判定領域左側の開始位置のブロック上辺からの高さ, 当たり判定領域右側の...
30 // たとえば、この例のように 0, 32 と指定すれば右下がりの坂になり、32, 0と指定すれば左下がり、 16, 16と指定すれば半分の高さの長方形になる
31 // enableBlockMode : 当たり判定領域をデバッグ表示する。
32 b : {base:SlopeBlockClass,args:['1191.png',0,32],prop:{enableDebugMode:true}},
34 // FreeItemClass : キャラが取得するとコールバックが実行されるアイテム
35 // callback : 誰かに取得されたときに発生するコールバック。アタックした人、そのアタック直後のx, y座標が引数にセットされる。
36 // times : 取得できる回数で、-1で無限。
37 c : {base:FreeItemClass,args:["1234.png",callBack],prop:{times:1}},
39 // 何もブロックを置かない位置のためにかならずこのようなエントリーを記述
43 // FreeItemClassのコールバック
44 function callBack(obj, obj_x, obj_y)
46 if(obj instanceof MainCharacterClass){
54 background: "back2.png" //背景画像。横幅は640pxである必要はない。
59 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
60 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
61 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
62 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
63 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
64 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
65 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
66 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
67 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
68 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
69 [a,b,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
70 [a,a,b,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
71 [a,a,a,b,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
72 [a,a,a,a,b,_,_,_,_,c,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
73 [a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a],
78 var stage = new PCDSLStageClass(stgInfo, tbl);
80 stage.runStage = function(){
81 PCDSLStageClass.prototype.runStage.apply(this, []);
82 var main = new MainCharacterClass(stage, [["kuma1.png","kuma2.png","kuma3.png", "kuma4.png", "kuma3.png", "kuma2.png"], ["kumaready.png"]]);
87 main.ownerUID = stage.manager.userID;
88 stage.userControlledCharacter = main;
89 stage.addStageObject(main, true);
96 <How to use PCDStageLanguage>
99 c : {base:BaseClass,args:[],...},
101 c:マップでの参照文字を指定します。この場合cとなります。
103 BlockClass:正方形の当たり判定のある普通のブロックです。
104 args:各クラスの引数を配列で指定します。ベースクラスにより内容は変化します。
105 以上3つのプロパティは必須です。以下は任意のプロパティ。
108 BlockClass : 普通のブロック。 引数に画像名を指定
109 a : {base:BlockClass,args:'1190.png'},
111 SlopeBlockClass : 当たり判定が斜めのブロック。
112 // 引数 : 画像名, 当たり判定領域左側の開始位置のブロック上辺からの高さ, 当たり判定領域右側の...
113 // たとえば、この例のように 0, 32 と指定すれば右下がりの坂になり、32, 0と指定すれば左下がり、 16, 16と指定すれば半分の高さの長方形になる
114 // enableBlockMode : 当たり判定領域をデバッグ表示する。
115 b : {base:SlopeBlockClass,args:['1191.png',0,32],prop:{enableDebugMode:true}},
117 // FreeItemClass : キャラが取得するとコールバックが実行されるアイテム
118 // callback : 誰かに取得されたときに発生するコールバック。アタックした人、そのアタック直後のx, y座標が引数にセットされる。
119 // times : 取得できる回数で、-1で無限。
120 c : {base:FreeItemClass,args:["1234.png",callBack],prop:{times:1}},
123 a : {base:BaseClass,args:'1190.png'},
126 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1140,
127 1183, 1214, 1216, 1222, 1232, 1233, 1234, 1235,
128 1150, 1160, 1170, 1190,
129 1158, 1168, 1178, 1198,
131 b : {base:SlopeBlockClass,args:['1191.png',0,32]},
133 1151, 1161, 1171, 1191,
135 c : {base:SlopeBlockClass,args:['1192.png',32,0]},
137 1152, 1162, 1172, 1192,
139 d : {base:SlopeBlockClass,args:['1193.png',16,16]},
141 1153, 1163, 1173, 1193,
143 e : {base:SlopeBlockClass,args:['1194.png',0,16]},
145 1154, 1164, 1174, 1194,
147 f: {base:SlopeBlockClass,args:['1195.png',16,0]},
149 1155, 1165, 1175, 1195,
151 g : {base:SlopeBlockClass,args:['1196.png',16,32]},
153 1156, 1166, 1176, 1196,
155 h : {base:SlopeBlockClass,args:['1197.png',16,32]},
157 1157, 1167, 1177, 1197,
163 a : {base:BlockClass,args:'1131.png'},
170 background: "back2.png"
175 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
176 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
177 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
178 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
179 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
180 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
181 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
182 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
183 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
184 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
185 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
186 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
187 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
188 [a,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,a],
189 [a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a],
194 var stage = new PCDSLStageClass(stgInfo, tbl);
195 stage.runStage = function(){
196 PCDSLStageClass.prototype.runStage.apply(this, []);
197 var main = new MainCharacterClass(stage, [["kuma1.png","kuma2.png","kuma3.png"]]);
200 main.ownerUID = stage.manager.userID;
201 stage.addStageObject(main, true);
202 stage.userControlledCharacter = main;
203 stage.manager.setBackgroundMusic("S00");