var CHARA_HEIGHT = 64;
var GAME_WIDTH = 800;
var GAME_HEIGHT = 600;
+var FPS = 30;
// var EResPath = {
// YUKKURI_BASE : './data/yukkuri_base.png',
// YUKKURI_SHADOW : './data/shadow.png',
var EAction = {
WAIT : 0,
SLEEP : 1,
- EAT : 2,
HUNT : 3,
THINK : 4,
WALK : 5,
DEAD: 6,
- MOVE: 7
+ MOVE: 7,
+ EAT_START : 8,
+ EAT_WAIT : 9,
+ NONE: 9999
};
var EDirection = {
LEFT : 0,
var menuBg = new SpriteGroup(EMenuPos.WIDTH, EMenuPos.HEIGHT);
var fieldBg = new enchant.Sprite(EFieldPos.WIDTH, EFieldPos.HEIGHT);
var game = new Game(GAME_WIDTH, GAME_HEIGHT);
+ game.fps = FPS;
var _loadArr = [];
var i=0;
for(var _v in EResPath){
var Action = enchant.Class.create({
initialize: function (yukkuri){
this.status = EAction.THINK;
- // this.status = EAction.EAT;
this.yukkuri = yukkuri;
this.isMoving = false;
- this.moveEvent = null;
},
observe: function(){
if(this.yukkuri.isDead()){
case EAction.DEAD:
this.dead();
break;
- case EAction.EAT:
- this.eat();
+ case EAction.EAT_START:
+ this.eat_start();
+ break;
+ case EAction.EAT_WAIT:
break;
}
},
move : function(){
- this.moveEvent.run();
},
walk : function(retryCounter){
if(retryCounter > 15){
retryCounter = 0;
- this.status = EAction.EAT;
+ this.status = EAction.NONE;
console.log("retryCount over");
return;
}
// this.yukkuri.imgBody.tl.removeFromScene();
// this.yukkuri.imgGroup.tl.removeFromScene();
},
+ eat_start: function(){
+ new EatEvent({
+ "type": 'eat',
+ "targetNode": node,
+ "action": this,
+ "myYukkuri": this.yukkuri
+ });
+
+ },
search : function(){
var nodes = ctl.objArray;
// l = game.rootScene.childNodes.length;
if(this.yukkuri.within(node, this.yukkuri.getRange())){
//A yukkuri to go to the food area
this.status = EAction.MOVE;
- this.moveEvent = new MoveEvent({
+ new MoveEvent({
"type": 'food',
"targetNode": node,
"action": this,
return function(e){
if(typeof e === "undefined")return;
self.yukkuri.tweet("む~しゃむ~しゃするのぜ!");
- self.action = EAction.EAT;
+ self.action = EAction.EAT_START;
};
- },
- run: function(){
- if(this.data.type == "food"){
-
- }
-
}
});
this.imgGroup.tl.moveTo(x, y, time, enchant.Easing.SIN_EASEINOUT);
},
moveBy:function(x, y, time, eventFunctions){
- // this.imgGroup.tl.moveBy(x, y, time, enchant.Easing.SIN_EASEINOUT);
var self = this;
var params = {
x: function() {
time: time,
easing: enchant.Easing.SIN_EASEINOUT
};
+ //-Event register [onactionstart,onactiontick,onactionend]
if(eventFunctions !== undefined){
for(var key in eventFunctions){
params[key] = eventFunctions[key];
this.imgGroup.tl.tween(params);
},
+ wait:function(frame, eventFunctions){
+ this.moveBy(0,0,frame,eventFunctions);
+ },
act: function(){
this.action.act();
},