2 // StageObjectsはステージに文字シンボルとして配置したいオブジェクト定義の連想配列である。
3 // StageObjectの各項目の指定方法は以下の二通りある。
4 // ・クラス名指定 ... コンストラクタがに引数が不要な時
7 // a : {base : FreeItemClass, //鋳型となるクラス名
8 // args : '1190.png', //コンストラクタに指定する引数(一つだけの場合) stageは自動で指定されるので不要
9 // args : ['1190.png', callback], //二つ以上の場合。やはり第一引数のstageは不要
10 // prop : {times : 1}, //各インスタンスに指定したいプロパティの連想配列。(省略可)
11 //この例ではaFreeItemClass.timesプロパティを1に指定している
12 // adjust : [-50, 50], //位置の微調整。必ずX座標、Y座標の相対位置を示す配列にする。(省略可)
13 // extid : 19 //ネットワークを超えて一つのオブジェクトである必要がある場合にはゼロではない値を取る(ステージ内で固有の値, 省略可; 既定0)
14 // sync : true //ネットワーク同期を有効に(addStageObjectの第二引数)(省略可; 既定false)
18 // BlockClass : 普通のブロック。 引数に画像名を指定
20 b : {base:BlockClass,args:'1150.png'},
21 f : {base:BlockClass,args:'1190.png'},
22 t : {base:BlockClass,args:'1160.png'},
23 x : {base:BlockClass,args:'1236.png'},
24 j : {base:BlockClass,args:'1238.png'},
25 y : {base:BlockClass,args:'1240.png'},
26 h : {base:BlockClass,args:'1239.png'},
27 ab: {base:BlockClass,args:'bridge.png'},
31 i : {base:BlockClass,args:'1235.png'},
32 n : {base:BlockClass,args:'leaves.png'},
33 p : {base:BlockClass,args:'glass.png'},
34 ag : {base:BlockClass,args:'hosikusabelow.png'},
35 r : {base:HiddenBlockClass,args:'hosikusa.png'},
40 // SlopeBlockClass : 当たり判定が斜めのブロック。
41 // 引数 : 画像名, 当たり判定領域左側の開始位置のブロック上辺からの高さ, 当たり判定領域右側の...
42 // たとえば、この例のように 0, 32 と指定すれば右下がりの坂になり、32, 0と指定すれば左下がり、 16, 16と指定すれば半分の高さの長方形になる
43 // enableBlockMode : 当たり判定領域をデバッグ表示する。
45 c : {base:SlopeBlockClass,args:['1152.png',32,0],prop:{enableDebugMode:true}},
46 d : {base:SlopeBlockClass,args:['1213.png',16,16],prop:{enableDebugMode:true}},
47 a : {base:SlopeBlockClass,args:['kusa.png',64,64],prop:{enableDebugMode:true}},
48 g : {base:SlopeBlockClass,args:['1151.png',0,32],prop:{enableDebugMode:true}},
49 e : {base:SlopeBlockClass,args:['1214.png',128,128],prop:{enableDebugMode:true}},
50 l : {base:SlopeBlockClass,args:['leavesedge1.png',16,0],prop:{enableDebugMode:true}},
51 m : {base:SlopeBlockClass,args:['leavesedge2.png',0,16],prop:{enableDebugMode:true}},
52 o : {base:SlopeBlockClass,args:['stop.png',32,32],prop:{enableDebugMode:true}},
53 q : {base:SlopeBlockClass,args:['hosikusa.png',8,8],prop:{enableDebugMode:true}},
54 s : {base:SlopeBlockClass,args:['leaves.png',1500,1500],prop:{enableDebugMode:true}},
55 u : {base:SlopeBlockClass,args:['1162.png',33,-1],prop:{enableDebugMode:true}},
56 w : {base:SlopeBlockClass,args:['1161.png',0,33],prop:{enableDebugMode:true}},
57 z : {base:SlopeBlockClass,args:['1164.png',33,0],prop:{enableDebugMode:true}},
58 aa : {base:SlopeBlockClass,args:['fence.png',600,600],prop:{enableDebugMode:true}},
59 ad : {base:SlopeBlockClass,args:['fence.png',16,16],prop:{enableDebugMode:true}},
60 ae : {base:SlopeBlockClass,args:['toge.png',28,28],prop:{enableDebugMode:true}},
61 af : {base:SlopeBlockClass,args:['toge.png',0,0],prop:{enableDebugMode:true}},
63 // FreeItemClass : キャラが取得するとコールバックが実行されるアイテム
64 // callback : 誰かに取得されたときに発生するコールバック。アタックした人、そのアタック直後のx, y座標が引数にセットされる。
65 // times : 取得できる回数で、-1で無限。
66 k : {base:FreeItemClass,args:["1234.png",callBack],prop:{times:1}},
68 ac : {base:FreeItemClass,args:["bridgedameged.png",callBack],prop:{times:141,}},
69 // 何もブロックを置かない位置のためにかならずこのようなエントリーを記述
73 // FreeItemClassのコールバック
74 function callBack(obj, obj_x, obj_y)
76 if(obj instanceof MainCharacterClass){
84 background: "back2.png", //背景画像。横幅は640pxである必要はない。
86 //"Metal_Gear_Solid_OST_Encounter.mp3",
87 //"Mount_Blade_With_Fire_and_Sword_OST_-_Happy_Song.mp3",
92 [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,],
93 [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,],
94 [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,],
95 [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,],
96 [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,r,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,i,_,_,_,i,i],
97 [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,l,s,m,_,_,_,_,_,_,],
98 [_,_,_,_,_,_,_,_,l,n,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,l,s,m,_,_,_,l,s,m,_,_,_,_,_,_],
99 [_,_,_,_,_,_,_,l,n,s,s,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,o,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,l,s,m,_,_,l,s,s,s,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,i,_,_,_,i,_,_,_,_,],
100 [_,_,_,_,_,_,_,l,n,s,s,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,u,t,t,w,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,aa,_,_,_,_,_,_,_,_,_,l,s,s,s,m,_,l,s,s,s,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,ag,],
101 [_,_,_,_,_,_,_,l,n,n,n,m,_,_,_,_,_,o,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,u,t,t,t,t,t,ab,ab,ab,ac,ac,ab,ac,ac,ab,ac,ac,ac,ab,ac,t,t,t,t,t,w,_,_,_,l,s,s,s,m,_,_,l,n,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,i,k,i,_,_,_,_,_,ag,ag,],
102 [_,_,i,k,i,_,_,_,_,e,_,_,_,_,_,a,c,b,g,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,q,_,_,_,_,_,_,_,_,_,_,z,t,t,t,t,t,t,t,j,_,_,_,_,_,_,_,_,_,_,_,_,h,t,t,t,t,t,t,j,_,_,_,l,n,m,_,_,_,_,e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,ag,ag,ag,_,_,_,_,_,_,,_,_,_,_,_,_,_,_,_,_,_,_,_,i,i,],
103 [_,_,_,_,_,_,_,_,_,e,_,_,a,a,c,b,b,b,b,g,_,_,_,_,_,_,_,_,_,ag,ag,ag,ag,_,_,r,_,_,_,_,_,_,_,_,_,_,_,q,q,_,_,_,_,q,ag,a,a,a,a,a,a,a,a,_,u,t,t,t,t,t,t,t,t,j,_,_,_,_,_,_,_,_,_,_,_,_,y,t,t,t,t,t,t,j,_,_,_,_,e,_,_,_,_,_,e,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,ag,ag,ag,ag,_,_,_,_,_,],
104 [_,_,_,_,_,_,a,a,a,e,a,c,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,g,_,q,q,_,_,_,_,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,x,t,t,t,t,t,t,t,t,t,j,_,_,_,_,_,_,_,_,_,_,_,_,h,t,t,t,t,t,t,j,a,a,a,a,e,a,a,a,d,a,e,a,a,a,ad,ad,ad,ad,ad,ad,ad,_,_,_,_,_,_,_,ad,ae,ae,ae,_,_,ae,ae,ae,_,_,ae,ae,ae,_,ae,ae,ae,ae,ae,ae,ae,ae,af,af,af,ae,ae,ad,a,a,a,a,a,a,a,a,a,a,a,a,q,_,a,a,a,a,a,a,ag,ag,ag,ag,ag,],
105 [a,d,a,a,a,c,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,x,t,t,t,t,t,t,t,t,t,j,_,_,_,_,_,_,_,_,_,_,_,_,h,t,t,t,t,t,t,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,_,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,b,],
106 [f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,j,_,_,_,_,_,_,_,_,_,_,_,_,h,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,_,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,]
111 var stage = new PCDSLStageClass(stgInfo, tbl);
114 stage.runStage = function(){
115 PCDSLStageClass.prototype.runStage.apply(this, []);
116 var main = new MainCharacterClass(stage, [["nakedman.png","nakedman2.png",]]);
121 main.ownerUID = stage.manager.userID;
122 main.movingVelocity = 220;
124 stage.userControlledCharacter = main;
125 stage.addStageObject(main, true);
127 var e1 = new EnemyCharacterClass(stage, [["pantank1.png","pantank2.png","pantank3.png","pantankaim.png","pantankfire.png","pantankcooldown.png",]]);
132 e1.chasingRange = 700;
133 e1.collisionMarginTop = 90;
134 e1.collisionMarginBottom = 10;
135 e1.ownerUID = stage.manager.userID;
136 e1.movingVelocity = 110;
139 stage.addStageObject(e1);
141 var e2 = new EnemyCharacterClass(stage, [["baka_om1.png","baka_om2.png","baka_om3.png","baka_om4.png",]]);
146 e2.chasingRange = 300;
147 e2.ownerUID = stage.manager.userID;
148 e2.movingVelocity = 160;
150 stage.addStageObject(e2);
152 var e3 = new EnemyCharacterClass(stage, [["farmer1.png","farmer2.png","farmer3.png","farmer4.png","farmeraim.png","farmerfire.png","farmercooldown.png","farmerrelord.png","farmerfire.png","farmercooldown.png","farmerrelord.png","farmerfire.png","farmercooldown.png","farmerrelord.png","farmerfire.png","farmercooldown.png","farmerfire.png","farmer3.png","farmer2.png",]]);
157 e3.chasingRange = 600;
158 e3.ownerUID = stage.manager.userID;
159 e3.movingVelocity = 150;
161 stage.addStageObject(e3);
163 var e4 = new EnemyCharacterClass(stage, [["kuma1.png","kuma2.png","kuma3.png","kuma4.png","kumaready.png","kumaswang.png","kuma3.png","kuma2.png",]]);
168 e4.chasingRange = 400;
169 e4.ownerUID = stage.manager.userID;
170 e4.movingVelocity = 130;
172 stage.addStageObject(e4);
174 var e5 = new EnemyCharacterClass(stage, [["baka_om1.png","baka_om2.png","baka_om3.png","baka_om4.png",]]);
179 e5.chasingRange = 270;
180 e5.collisionMarginTop = 4;
181 e5.ownerUID = stage.manager.userID;
182 e5.movingVelocity = 200;
184 stage.addStageObject(e5);
186 var e7 = new EnemyCharacterClass(stage, [["baka_om1.png","baka_om2.png","baka_om3.png","baka_om4.png",]]);
191 e7.chasingRange = 270;
192 e7.ownerUID = stage.manager.userID;
193 e7.movingVelocity = 70;
195 stage.addStageObject(e7);
197 var e8 = new EnemyCharacterClass(stage, [["baka_om1.png","baka_om2.png","baka_om3.png","baka_om4.png",]]);
202 e8.chasingRange = 270;
203 e8.ownerUID = stage.manager.userID;
204 e8.movingVelocity = 70;
206 stage.addStageObject(e8);
209 var e9 = new EnemyCharacterClass(stage, [["baka_om1.png","baka_om2.png","baka_om3.png","baka_om4.png",]]);
214 e9.chasingRange = 270;
215 e9.ownerUID = stage.manager.userID;
216 e9.movingVelocity = 70;
218 stage.addStageObject(e9);
224 var c1 = new EnemyCharacterClass(stage, [["cowm1.png","cowm2.png","cowm3.png","cowm4.png","cowm3.png","cowm2.png",]]);
229 c1.chasingRange = 200;
230 c1.ownerUID = stage.manager.userID;
231 c1.movingVelocity = 80;
232 c1.collisionMarginTop = 14;
233 c1.collisionMarginRight = 16;
234 c1.collisionMarginLeft = 16;
236 stage.addStageObject(c1);
239 var c2 = new EnemyCharacterClass(stage, [["cowm1.png","cowm2.png","cowm3.png","cowm4.png","cowm3.png","cowm2.png",]]);
244 c2.chasingRange = 200;
245 c2.ownerUID = stage.manager.userID;
246 c2.movingVelocity = 150;
247 c2.collisionMarginTop = 14;
248 c2.collisionMarginRight = 16;
249 c2.collisionMarginLeft = 16;
251 stage.addStageObject(c2);
258 var barn = new BlockClass(stage, ["barn.png",]);;
262 barn.origin.x = 1300;
264 barn.collisionMarginTop = 45;
265 barn.collisionMarginRight = 30;
266 stage.addStageObject(barn);
268 var barn2 = new SlopeBlockClass(stage, ["barn.png", 49, 49]);
272 barn2.origin.x = 3700;
274 stage.addStageObject(barn2);
276 var windmill = new SlopeBlockClass(stage, ["windmill.png", 5, 5]);
277 windmill.size.x = 50;
278 windmill.size.y = 150;
279 windmill.origin.x = 1600;
280 windmill.origin.y =236;
281 stage.addStageObject(windmill);
285 var fence0 = new SlopeBlockClass(stage, ["fence.png", 16, 16]);
288 fence0.origin.x = 672;
289 fence0.origin.y = 352;
290 stage.addStageObject(fence0);
292 var fence13 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
295 fence13.origin.x = 704;
296 fence13.origin.y = 352;
297 stage.addStageObject(fence13);
299 var fence = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
302 fence.origin.x = 736;
303 fence.origin.y = 352;
304 stage.addStageObject(fence);
306 var fence2 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
309 fence2.origin.x = 768;
310 fence2.origin.y = 352;
311 stage.addStageObject(fence2);
313 var fence3 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
316 fence3.origin.x = 800;
317 fence3.origin.y = 352;
318 stage.addStageObject(fence3);
320 var fence4 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
323 fence4.origin.x = 832;
324 fence4.origin.y = 352;
325 stage.addStageObject(fence4);
327 var fence5 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
330 fence5.origin.x = 864;
331 fence5.origin.y = 352;
332 stage.addStageObject(fence5);
334 var fence6 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
337 fence6.origin.x = 896;
338 fence6.origin.y = 352;
339 stage.addStageObject(fence6);
341 var fence7 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
344 fence7.origin.x = 928;
345 fence7.origin.y = 352;
346 stage.addStageObject(fence7);
348 var fence8 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
351 fence8.origin.x = 960;
352 fence8.origin.y = 352;
353 stage.addStageObject(fence8);
355 var fence9 = new SlopeBlockClass(stage, ["fence.png", 32, 32]);
358 fence9.origin.x = 992;
359 fence9.origin.y = 352;
360 stage.addStageObject(fence9);
362 var fence10 = new SlopeBlockClass(stage, ["fence.png", 16, 16]);
365 fence10.origin.x = 1024;
366 fence10.origin.y = 352;
367 stage.addStageObject(fence10);
369 var fence11 = new SlopeBlockClass(stage, ["fence.png", 16, 16]);
372 fence11.origin.x = 3712;
373 fence11.origin.y = 384;
374 stage.addStageObject(fence11);
376 var fence12 = new SlopeBlockClass(stage, ["fence.png", 16, 16]);
379 fence12.origin.x = 3680;
380 fence12.origin.y = 384;
381 stage.addStageObject(fence12);
383 var cow4 = new SlopeBlockClass(stage, ["cow.png", 14, 14]);
386 cow4.origin.x = 4010;
388 stage.addStageObject(cow4);
390 var cow5 = new SlopeBlockClass(stage, ["cow2.png", 14, 14]);
393 cow5.origin.x = 4180;
395 stage.addStageObject(cow5);
397 var cow6 = new SlopeBlockClass(stage, ["cow.png", 70, 70]);
400 cow6.origin.x = 4420;
402 stage.addStageObject(cow6);
404 var cow7 = new SlopeBlockClass(stage, ["cow2.png", 14, 14]);
407 cow7.origin.x = 4510;
409 stage.addStageObject(cow7);