From: ttwilb Date: Fri, 16 Aug 2013 02:05:38 +0000 (+0900) Subject: pcdsl adjustの実装 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=997b5a5fbdbd0833dbc9b8d424c816c5072f62ad;p=h58pcdgame%2FGameScriptCoreLibrary.git pcdsl adjustの実装 stage/pcdsltest.js にコメントいっぱいサンプルを作成 --- diff --git a/www/corelib/classes/PCDSLStageClass.js b/www/corelib/classes/PCDSLStageClass.js index 61f5100..700cb6f 100644 --- a/www/corelib/classes/PCDSLStageClass.js +++ b/www/corelib/classes/PCDSLStageClass.js @@ -26,7 +26,9 @@ var PCDSLStageClass = function(stgInfo, tbl) if(item != null) { - //item‚ª {class: ... , args : ...}‚ÌŒ`Ž®‚Å‚ ‚é‚©Šm”F + var adjust = new Point2D(0, 0); + + //item‚ª {base: ... , args : ...}‚ÌŒ`Ž®‚Å‚ ‚é‚©Šm”F if(item.base && item.args) { //ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚̈ø”‚àŽw’肳‚ê‚Ä‚¢‚é @@ -37,24 +39,30 @@ var PCDSLStageClass = function(stgInfo, tbl) { obj = new (item.base)(this, [item.args]); } + + // {prop: { propName: "value" }‚ÌŒ`‚ŃvƒƒpƒeƒB‚ªŽw’肳‚ê‚Ä‚¢‚é + if(item.prop) + { + for(var propName in item.prop) + { + //ƒIƒuƒWƒFƒNƒg‚ɃvƒƒpƒeƒB‚ðÝ’è + obj[propName] = item.prop[propName]; + } + } + + // adjust : [10, -10]‚ÌŒ`‚ňʒu‚Ì”÷’²®‚ª‚È‚³‚ê‚Ä‚¢‚é + if(item.adjust) + { + adjust = new Point2D(item.adjust[0], item.adjust[1]); + } }else { //ˆø”‚ðŽw’肵‚È‚¢ --- stageƒCƒ“ƒXƒ^ƒ“ƒX‚ðˆø”‚ɂ‚¯‚é obj = new item(this); } - // {prop: { propName: "value" }‚ÌŒ`‚ŃvƒƒpƒeƒB‚ªŽw’肳‚ê‚Ä‚¢‚é - if(item.prop) - { - for(var propName in item.prop) - { - //ƒIƒuƒWƒFƒNƒg‚ɃvƒƒpƒeƒB‚ðÝ’è - obj[propName] = item.prop[propName]; - } - } - //”z’u - obj.origin = new Point2D(x * 32, y * 32); + obj.origin = new Point2D(x * 32 + adjust.x, y * 32 + adjust.y); this.addStageObject(obj); } } diff --git a/www/stage/pcdsltest.js b/www/stage/pcdsltest.js new file mode 100644 index 0000000..ff8e8ca --- /dev/null +++ b/www/stage/pcdsltest.js @@ -0,0 +1,79 @@ + +// StageObjects‚̓Xƒe[ƒW‚É•¶ŽšƒVƒ“ƒ{ƒ‹‚Æ‚µ‚Ä”z’u‚µ‚½‚¢ƒIƒuƒWƒFƒNƒg’è‹`‚̘A‘z”z—ñ‚Å‚ ‚éB +// StageObject‚ÌŠe€–Ú‚ÌŽw’è•û–@‚͈ȉº‚Ì“ñ’Ê‚è‚ ‚éB +// EƒNƒ‰ƒX–¼Žw’è ... ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ª‚Ɉø”‚ª•s—v‚ÈŽž +// a : BlockClass +// EŠg’£Žw’è +// a : {base : FreeItemClass, //’’Œ^‚Æ‚È‚éƒNƒ‰ƒX–¼ +// args : '1190.png', //ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ÉŽw’è‚·‚éˆø”(ˆê‚‚¾‚¯‚̏ꍇ) stage‚ÍŽ©“®‚ÅŽw’肳‚ê‚é‚Ì‚Å•s—v +// args : ['1190.png', callback], //“ñ‚ˆȏã‚̏ꍇB‚â‚Í‚è‘æˆêˆø”‚Ìstage‚Í•s—v +// prop : {times : 1}, //ŠeƒCƒ“ƒXƒ^ƒ“ƒX‚ÉŽw’肵‚½‚¢ƒvƒƒpƒeƒB‚̘A‘z”z—ñB(È—ª‰Â) + //‚±‚Ì—á‚Å‚ÍaFreeItemClass.timesƒvƒƒpƒeƒB‚ð1‚ÉŽw’肵‚Ä‚¢‚é +// adjust : [-50, 50]}, //ˆÊ’u‚Ì”÷’²®B•K‚¸XÀ•WAYÀ•W‚Ì‘Š‘Έʒu‚ðŽ¦‚·”z—ñ‚É‚·‚éB(È—ª‰Â) + +var stgObjects = { + + // BlockClass : •’ʂ̃uƒƒbƒNB ˆø”‚ɉ摜–¼‚ðŽw’è + a : {base:BlockClass,args:'1190.png'}, + + // SlopeBlockClass : “–‚½‚è”»’肪ŽÎ‚߂̃uƒƒbƒNB + // ˆø” : ‰æ‘œ–¼, “–‚½‚è”»’è—̈捶‘¤‚ÌŠJŽnˆÊ’u‚̃uƒƒbƒNã•Ó‚©‚ç‚̍‚‚³, “–‚½‚è”»’è—̈æ‰E‘¤‚Ì... + // ‚½‚Æ‚¦‚΁A‚±‚Ì—á‚̂悤‚É 0, 32 ‚ÆŽw’è‚·‚ê‚ΉE‰º‚ª‚è‚̍â‚É‚È‚èA32, 0‚ÆŽw’è‚·‚ê‚΍¶‰º‚ª‚èA 16, 16‚ÆŽw’è‚·‚ê‚Δ¼•ª‚̍‚‚³‚Ì’·•ûŒ`‚É‚È‚é + // enableBlockMode : “–‚½‚è”»’è—̈æ‚ðƒfƒoƒbƒO•\Ž¦‚·‚éB + b : {base:SlopeBlockClass,args:['1191.png',0,32],prop:{enableDebugMode:true}}, + + // FreeItemClass : ƒLƒƒƒ‰‚ªŽæ“¾‚·‚é‚ƃR[ƒ‹ƒoƒbƒN‚ªŽÀs‚³‚ê‚éƒAƒCƒeƒ€ + // callback : ’N‚©‚Ɏ擾‚³‚ꂽ‚Æ‚«‚É”­¶‚·‚éƒR[ƒ‹ƒoƒbƒNBƒAƒ^ƒbƒN‚µ‚½lA‚»‚̃Aƒ^ƒbƒN’¼Œã‚Ìx, yÀ•W‚ªˆø”‚ɃZƒbƒg‚³‚ê‚éB + // times : Žæ“¾‚Å‚«‚é‰ñ”‚ŁA-1‚Å–³ŒÀB + c : {base:FreeItemClass,args:["1234.png",callBack],prop:{times:1}}, + + // ‰½‚àƒuƒƒbƒN‚ð’u‚©‚È‚¢ˆÊ’u‚Ì‚½‚ß‚É‚©‚Ȃ炸‚±‚̂悤‚ȃGƒ“ƒgƒŠ[‚ð‹Lq + _ : null +}; + +// FreeItemClass‚̃R[ƒ‹ƒoƒbƒN +function callBack(obj, obj_x, obj_y) +{ + if(ibj instanceof MainCharacterClass) // ..... +} + +var stgInfo = { + width: 6400, //‰¡ƒTƒCƒY + height: 480, //cƒTƒCƒY + background: "back2.png" //”wŒi‰æ‘œB‰¡•‚Í640px‚Å‚ ‚é•K—v‚Í‚È‚¢B +}; + +with(stgObjects) { + var tbl = [ + [], + [], + [], + [], + [], + [], + [], + [], + [], + [], + [b], + [_,b], + [_,_,b], + [_,_,_,b,_,_,_,_,_,c], + [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], + ]; +} + +//–ñ‘©Ž– +var stage = new PCDSLStageClass(stgInfo, tbl, null); + + +var main = new MainCharacterClass(stage, [["kuma1.png","kuma2.png","kuma3.png", "kuma4.png", "kuma3.png", "kuma2.png"], ["kumaready.png"]]); +main.size.x = 64; +main.size.y=64; +main.origin.x = 50; +main.origin.y =0; +stage.operatingCharacter = main; +stage.addStageObject(main); + + +stage;