OSDN Git Service

add eat to action 0.1
authornagomi <nagomi@192.168.1.23>
Wed, 25 Sep 2013 02:58:22 +0000 (11:58 +0900)
committernagomi <nagomi@192.168.1.23>
Wed, 25 Sep 2013 02:58:22 +0000 (11:58 +0900)
main.js

diff --git a/main.js b/main.js
index 04d7910..a741833 100644 (file)
--- a/main.js
+++ b/main.js
@@ -16,6 +16,7 @@ var CHARA_WIDTH = 64;
 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',
@@ -67,12 +68,14 @@ var EFieldPos = {
 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,
@@ -86,6 +89,7 @@ window.onload = function(){
        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){
@@ -103,10 +107,8 @@ window.onload = function(){
        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()){
@@ -138,18 +140,19 @@ window.onload = function(){
                                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;
                        }
@@ -250,6 +253,15 @@ window.onload = function(){
                        // 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;
@@ -261,7 +273,7 @@ window.onload = function(){
                                        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,
@@ -348,14 +360,8 @@ window.onload = function(){
                        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"){
-
-                       }
-
                }
        });
 
@@ -416,7 +422,6 @@ window.onload = function(){
                        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() {
@@ -428,6 +433,7 @@ window.onload = 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];
@@ -436,6 +442,9 @@ window.onload = function(){
                        this.imgGroup.tl.tween(params);
 
                },
+               wait:function(frame, eventFunctions){
+                       this.moveBy(0,0,frame,eventFunctions);
+               },
                act: function(){
                        this.action.act();
                },