X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=main.js;h=04b6f62dfa693cf4b06f618fe72e2a7b6c9b7bda;hb=HEAD;hp=7691739af8df0dcafe8d98726bbeaf351471f846;hpb=4e456deb8d063370011e5fe2297be80b75c16abc;p=yukkurioverwint%2FYukkuriOverwinter.git diff --git a/main.js b/main.js index 7691739..04b6f62 100644 --- a/main.js +++ b/main.js @@ -33,7 +33,7 @@ var CHARA_WIDTH = 64; var CHARA_HEIGHT = 64; var GAME_WIDTH = 800; var GAME_HEIGHT = 600; -var FPS = 20; +var FPS = 40; var BASE_FPS = 20; var HUNGRY_MAX = 100; var TIME_SPEED = 4; @@ -70,6 +70,7 @@ var EResPath = { GRASS : './data/system/grass.png', PLAYER_BADGE : './data/system/player_badge.png', KUKI : './data/system/kuki.png', + MIYUKKURI : './data/system/miyukkuri.png', // PLACE_TREE : './data/system/rapture.png', }; var EResPathReimu = { @@ -163,6 +164,9 @@ var EAction = { EAT_IN_HOME: 31, NONE: 9999 }; +var EDeepSay = { + +} var EDirection = { LEFT : 0, RIGHT: 1, @@ -235,9 +239,9 @@ var EDamage = { PICOHAN : 1 }; var ELooks = { - GOOD_YUKKURI : 0, - NORMAL_YUKKURI : 1, - BAD_YUKKURI : 2, + GOOD_YUKKURI : 3, + NORMAL_YUKKURI : 2, + BAD_YUKKURI : 1, }; var EAnimStatus = { UP : 0, @@ -245,6 +249,7 @@ var EAnimStatus = { }; include("./lib/Animation.js"); include("./lib/FormSprite.js"); +include("./lib/Util.js"); var ObjSprite = enchant.Class.create(enchant.Sprite,{ @@ -343,7 +348,9 @@ window.onload = function(){ var okazariValue = 37 + 11; var okazariReimuValue = 32; var bodyValue = 37; - var tweetValue = 188; + var tweetValue = 288; + var kukiValue = 143; + var miYukkuriValue = 363; if(a.type == "shadow"){ ay += shadowValue * a.scaleValue; @@ -360,11 +367,14 @@ window.onload = function(){ else if(a.type == "budge"){ ay += budgeValue * a.scaleValue - a.anim.cnt; } + else if(a.type == "kuki"){ + ay += kukiValue * a.scaleValue - a.anim.cnt; + } + if(b.type == "shadow"){ by += shadowValue * b.scaleValue; } - else if(b.type == "body" && b.classname == "Okazari" && b.spname == "reimu"){ by += okazariReimuValue * b.scaleValue - b.anim.cnt; } @@ -380,6 +390,10 @@ window.onload = function(){ else if(b.type == "budge"){ by += budgeValue * b.scaleValue - b.anim.cnt; } + else if(b.type == "kuki"){ + by += kukiValue * b.scaleValue - b.anim.cnt; + } + if(a instanceof SpriteGroup){ @@ -390,6 +404,13 @@ window.onload = function(){ by = b.y; by += b.height /2; } + if(a instanceof MiYukkuri){ + ay += miYukkuriValue * a.scaleValue - a.anim.cnt; + } + if(b instanceof MiYukkuri){ + console.log("M"); + by += miYukkuriValue * b.scaleValue - b.anim.cnt; + } if(a instanceof Place){ ay += Math.round(a.height * 0.7); @@ -677,7 +698,7 @@ window.onload = function(){ if(false){ this.yukkuri.vx = xpos; this.yukkuri.vy = ypos; - this.yukkuri.direction = EDirection.RIGHT; + this.yukkuri.setDirection(EDirection.RIGHT); } else if(rand(8) === 0){ this.yukkuri.vx = 0; @@ -686,17 +707,17 @@ window.onload = function(){ else if(rand(8) == 1){ this.yukkuri.vx = xpos; this.yukkuri.vy = -ypos; - this.yukkuri.direction = EDirection.RIGHT; + this.yukkuri.setDirection(EDirection.RIGHT); } else if(rand(8) == 2){ this.yukkuri.vx = xpos; this.yukkuri.vy = 0; - this.yukkuri.direction = EDirection.RIGHT; + this.yukkuri.setDirection(EDirection.RIGHT); } else if(rand(8) == 3){ this.yukkuri.vx = xpos; this.yukkuri.vy = ypos; - this.yukkuri.direction = EDirection.RIGHT; + this.yukkuri.setDirection(EDirection.RIGHT); } else if(rand(8) == 4){ this.yukkuri.vx = 0; @@ -705,17 +726,17 @@ window.onload = function(){ else if(rand(8) == 5){ this.yukkuri.vx = -xpos; this.yukkuri.vy = ypos; - this.yukkuri.direction = EDirection.LEFT; + this.yukkuri.setDirection(EDirection.LEFT); } else if(rand(8) == 6){ this.yukkuri.vx = -xpos; this.yukkuri.vy = 0; - this.yukkuri.direction = EDirection.LEFT; + this.yukkuri.setDirection(EDirection.LEFT); } else if(rand(8) == 7){ this.yukkuri.vx = -xpos; this.yukkuri.vy = -ypos; - this.yukkuri.direction = EDirection.LEFT; + this.yukkuri.setDirection(EDirection.LEFT); } if (this.yukkuri.vx || this.yukkuri.vy) { var map = ctl.backgroundMap; @@ -944,6 +965,14 @@ window.onload = function(){ yukkuri.action.setStatus(EAction.MOVE_TO_COMMAND); return; } + if(yukkuri.isSleep()){ + yukkuri.action.setStatus(EAction.SLEEP_START); + return; + } + else if(yukkuri.getUnun() >= 80){ + yukkuri.action.setStatus(EAction.UNUN_START); + return; + } if(yukkuri.isItemsMax() && yukkuri.isPlace()){ yukkuri.action.targetNode = yukkuri.getPlace(); @@ -978,15 +1007,6 @@ window.onload = function(){ return; } - if(yukkuri.isSleep()){ - yukkuri.action.setStatus(EAction.SLEEP_START); - return; - } - - else if(yukkuri.getUnun() >= 80){ - yukkuri.action.setStatus(EAction.UNUN_START); - return; - } if(!yukkuri.isItemsMax() && yukkuri.isPlace()){ @@ -1222,7 +1242,7 @@ window.onload = function(){ var distance = (Math.abs(yukkuri.vx) + Math.abs(yukkuri.vy)) / 2; var frame = distance + distance/5 + 1; frame += plusFrameScale(frame, this.yukkuri.getMyScale()); - yukkuri.direction = yukkuri.vx > 0 ? EDirection.RIGHT : EDirection.LEFT; + yukkuri.setAutoDirection(); yukkuri.reverse(); mangMsg.output(yukkuri, EMsg.TARGETING_EAT); @@ -1266,7 +1286,7 @@ window.onload = function(){ var distance = (Math.abs(yukkuri.vx) + Math.abs(yukkuri.vy)) / 2; var frame = distance + distance/5 + 1; frame += plusFrameScale(frame, this.yukkuri.getMyScale()); - yukkuri.direction = yukkuri.vx > 0 ? EDirection.RIGHT : EDirection.LEFT; + yukkuri.setAutoDirection(); yukkuri.reverse(); mangMsg.output(yukkuri, EMsg.MOVE_TO_HUNTING); @@ -1384,7 +1404,8 @@ window.onload = function(){ var distance = (Math.abs(yukkuri.vx) + Math.abs(yukkuri.vy)) / 2; var frame = distance + distance/2 + 1 ; frame += plusFrameScale(frame, this.yukkuri.getMyScale()); - yukkuri.direction = yukkuri.vx > 0 ? EDirection.RIGHT : EDirection.LEFT; + yukkuri.setAutoDirection(); + yukkuri.reverse(); mangMsg.output(this.yukkuri, EMsg.MOVE_GOTO_HOME) @@ -1533,7 +1554,7 @@ window.onload = function(){ var frame = distance + distance/2 + 1; frame += plusFrameScale(frame, this.yukkuri.getMyScale()); - yukkuri.direction = yukkuri.vx > 0 ? EDirection.RIGHT : EDirection.LEFT; + yukkuri.setAutoDirection(); yukkuri.moveBy(yukkuri.vx, yukkuri.vy, frame, { "onactiontick": this.onactiontick(this), @@ -1649,7 +1670,7 @@ window.onload = function(){ var frame = distance + distance/5 + 1; frame += plusFrameScale(frame, this.yukkuri.getMyScale()); - yukkuri.direction = yukkuri.vx > 0 ? EDirection.RIGHT : EDirection.LEFT; + yukkuri.setAutoDirection(); yukkuri.reverse(); yukkuri.moveBy(yukkuri.vx, yukkuri.vy, frame, { "onactionend": this.onactionend(this) @@ -1909,10 +1930,13 @@ window.onload = function(){ this.miYukkuris = []; }, addMiYukkuri: function(miYukkuri){ - miYukkuri.setX(miYukkuri.getX() + 30); - miYukkuri.setY(miYukkuri.getY() - 30); + // miYukkuri.setX(miYukkuri.getX() + 30); + // miYukkuri.setY(miYukkuri.getY() - 30); this.miYukkuris.push(miYukkuri); }, + getMiYukkuris: function(){ + return this.miYukkuris; + }, getX : function(){ return this.x; }, @@ -1996,7 +2020,7 @@ window.onload = function(){ this.vx = 0; this.vy = 0; this.image = game.assets[EResPath.YUKKURI_BASE]; - this.direction = EDirection.RIGHT; + this.setDirection(EDirection.RIGHT); this.addEventListener('enterframe', this.runEnterframe); this.bodyStatus ={}; this.bodyStatus[EBody.NORMAL] = EResPath.YUKKURI_BASE; @@ -2033,6 +2057,7 @@ window.onload = function(){ // var _gety = this.kukis[0].miYukkuris[0].getY(); // this.kukis[0].miYukkuris[0].setOldY(); // this.kukis[0].miYukkuris[0].animY(-_y); + // this.kukis[0].direction = this.direction; } // console.log(this.getX() + ":" + this.getY()); this.act(); @@ -2042,7 +2067,8 @@ window.onload = function(){ this.runUnun(); this.runSleep(); this.runAddress(); - this.formSprite.animation(); + this.runAnimation(); + // this.animation(); } // }catch(e){ @@ -2055,6 +2081,19 @@ window.onload = function(){ if(this instanceof Player){ this.formSprite.setFixBudgeRight(5); } + + this.formSprite.setFixKukiRight(); + var len = this.kukis.length; + for(var i=0;i= this.param.maxYukkuri)this.param.yukkuri = this.param.maxYukkuri; + + var x = this.getX(); + var y = this.getY(); + + var kukiLength = this.kukis.length; + var yukkuris = []; + if(kukiLength > 0){ + for(var i=0;i= 100){ this.param.sleep = 100; } @@ -2271,6 +2346,21 @@ window.onload = function(){ getUnun: function(){ return this.param.unun; }, + getLooksNumber: function(){ + return this.param.looks; + }, + getLooksText: function(){ + if(this.param.looks == ELooks.GOOD_YUKKURI){ + return "びゆん"; + } + if(this.param.looks == ELooks.NORMAL_YUKKURI){ + return "ぼんゆん"; + } + if(this.param.looks == ELooks.BAD_YUKKURI){ + return "ぶさゆん"; + } + return ""; + }, setUnun: function(unun){ this.param.unun = unun; if(this.param.unun < 0)this.param.unun = 0; @@ -2345,7 +2435,7 @@ window.onload = function(){ // this.imgBody.tl.unloop(); // this.imgGroup.tl.unloop(); // this.imgBody.y = 0; - + this.formSprite.formStopAnimation(); }, tlResume: function(){ // this.imgBody.tl.resume(); @@ -2354,11 +2444,13 @@ window.onload = function(){ }, syncDirection:function(senderYukkuri){ if(this.getX() > senderYukkuri.getX()){ - this.direction = EDirection.LEFT; - senderYukkuri.direction = EDirection.RIGHT; + // this.direction = EDirection.LEFT; + // senderYukkuri.direction = EDirection.RIGHT; + this.setDirection(EDirection.LEFT); + senderYukkuri.setDirection(EDirection.RIGHT); }else{ - this.direction = EDirection.RIGHT; - senderYukkuri.direction = EDirection.LEFT; + this.setDirection(EDirection.RIGHT); + senderYukkuri.setDirection(EDirection.LEFT); } }, isCommunication: function(yukkuri){ @@ -2382,6 +2474,7 @@ window.onload = function(){ ret += "空腹  " + this.getHungry() + "\n"; ret += "うんうん  " + this.getUnun() + "\n"; ret += "もちもの  " + this.items.length + "\n"; + ret += "容姿  " + this.getLooksText() + "\n"; ret += "debug " + this.action.status + "\n"; return ret; }, @@ -2461,16 +2554,47 @@ window.onload = function(){ //現在の行動パターンから躾対象かセレクトする } }, - addKuki: function(){ - for(var i=0;i 0 ? EDirection.RIGHT : EDirection.LEFT; + }, + setDirection: function(direction){ + this.direction = direction; + if(this.kukis){ + var kukiLength = this.kukis.length + for(var i=0;i