1 var Ctrl = enchant.Class.create({
2 initialize: function (){
5 this.currentCommand = ECommand.WORLD_CURSOR;
6 this.backgroundMap = null;
10 init : function (game){
13 setMenuBg: function (menuBg){
14 console.log("setMenuBg");
17 setBackgroundMap: function(backgroundMap){
18 this.backgroundMap = backgroundMap;
20 setPlayer: function(player){
24 * [setCurrentCommand description]
25 * @param {ECommand} cmd [description]
27 setCurrentCommand: function(cmd){
28 this.currentCommand = cmd;
30 getCurrentCommand: function(){
31 return this.currentCommand;
34 var CommandIcon = enchant.Class.create(enchant.Sprite,{
35 initialize: function (x, y, ecmd, index){
36 enchant.Sprite.call(this, x, y);
40 isCurrent: function(){
41 return (this.index * 2)%2 !== 0;
43 setCurrent: function(){
44 this.frame = (this.index * 2) + 1;
46 removeCurrent: function(){
47 this.frame = (this.index * 2);
50 var MangIcon = enchant.Class.create({
51 initialize: function (ctl, menuBg){
56 for (var key in ECommand) {
57 var value = ECommand[key];
58 this.cmdIcons[value] = new CommandIcon(40, 40, value, index);
59 this.cmdIcons[value].image = this.ctl.game.assets[EResPath.COMMAND];
60 this.cmdIcons[value].x = 40 * index;
61 this.cmdIcons[value].y = 4;
63 // odd equals current. even equals not current.
64 this.cmdIcons[value].frame = (this.ctl.getCurrentCommand() == value)? index * 2 + 1: index * 2;
65 menuBg.addChild(this.cmdIcons[value]);
66 this.cmdIcons[value].ontouchstart = function(obj){
67 // change command icons
68 var nowECmd = self.ctl.getCurrentCommand();
69 self.cmdIcons[nowECmd].removeCurrent();
70 if(!this.isCurrent()){
73 self.ctl.setCurrentCommand(this.index);
78 get: function(commandIndex){
79 return this.cmdIcons[commandIndex];
82 var ATouchEvent = enchant.Class.create({
83 // initialize: function (ctl){
86 touchstart: function(e){
88 touchmove: function(e){
90 touchend: function(e){
94 var WorldCursorTouchEvent = enchant.Class.create(ATouchEvent,{
95 initialize: function (ctl){
100 touchstart : function(e){
101 this.touchX = e.x - this.ctl.backgroundMap.x;
102 this.touchY = e.y - this.ctl.backgroundMap.y;
104 touchmove : function(e){
105 var backgroundMap = this.ctl.backgroundMap;
106 var game = this.ctl.game;
109 backgroundMap.x = e.x - this.touchX;
110 if(backgroundMap.x < -EFieldPos.WIDTH)backgroundMap.x = -EFieldPos.WIDTH;
111 if(backgroundMap.x > 0)backgroundMap.x = 0;
113 backgroundMap.y = e.y - this.touchY;
114 if(backgroundMap.y < -EFieldPos.HEIGHT)backgroundMap.y = -EFieldPos.HEIGHT;
115 if(backgroundMap.y > 0)backgroundMap.y = 0;
117 if(e.x > EFieldPos.WIDTH)game.touched = false;
118 else if(e.x < 30)game.touched = false;
120 touchend : function(e){
123 var WorldTargetTouchEvent = enchant.Class.create(ATouchEvent,{
124 initialize: function (ctl){
129 touchstart :function(e){
130 if(e.x >= 0 && e.x <= EFieldPos.WIDTH){
131 var backgroundMap = this.ctl.backgroundMap;
132 addEffect(this.ctl.backgroundMap, -backgroundMap.x + e.x, -backgroundMap.y + e.y);
133 this.ctl.player.tweet("ゆっくりりかいしたよ!");
134 // this.ctl.player.tweet("ゆー...いきたくないのぜ");
139 var MangTouch = enchant.Class.create({
140 initialize: function (ctl){
142 var cursor = ECommand.WORLD_CURSOR;
144 this.mang[ECommand.WORLD_CURSOR] = new WorldCursorTouchEvent(ctl);
145 this.mang[ECommand.WORLD_TARGET] = new WorldTargetTouchEvent(ctl);
148 return this.mang[ecmd];
151 var MangLabel = enchant.Class.create({
152 initialize: function (ctl, menuBg){
154 var labelGroup = new LabelGroup();
156 this.START_YPOS = GAME_HEIGHT / 2;
157 this.GAUGE_XPOS = 80;
158 this.menuBg = menuBg;
160 this.WIDTH_MARGIN = 4;
161 this.GAUGE_HEIGHT = 16;
162 var FONT = "18px 'Times New Roman'";
163 var COLOR = "#ffffff";
164 menuBg.image.context.font = FONT;
172 var label = new Label(TEXT);
175 label.x = self.START_XPOS;
176 label.y = self.START_YPOS;
177 label.textWidth = menuBg.image.context.measureText(TEXT).width;
180 draw: function(yukkuriObj){
182 var gauge = 100 / yukkuriObj.param.maxYukkuri * yukkuriObj.param.yukkuri;
183 self.menuBg.image.context.fillStyle = "#ffffff";
184 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, 100, self.GAUGE_HEIGHT);
185 self.menuBg.image.context.fillStyle = "#ff0000";
186 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, gauge, self.GAUGE_HEIGHT);
193 var label = new Label(TEXT);
196 label.x = self.START_XPOS;
197 label.y = self.START_YPOS + 20;
198 label.textWidth = menuBg.image.context.measureText(TEXT).width;
201 draw: function(yukkuriObj){
202 var gauge =yukkuriObj.param.hungry;
203 self.menuBg.image.context.fillStyle = "#ffffff";
204 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, 100, self.GAUGE_HEIGHT);
205 self.menuBg.image.context.fillStyle = "#bb7777";
206 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, gauge, self.GAUGE_HEIGHT);
213 var label = new Label(TEXT);
216 label.x = self.START_XPOS;
217 label.y = self.START_YPOS + 40;
218 label.textWidth = menuBg.image.context.measureText(TEXT).width;
221 draw: function(yukkuriObj){
222 var gauge =yukkuriObj.param.unun;
223 self.menuBg.image.context.fillStyle = "#ffffff";
224 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, 100, self.GAUGE_HEIGHT);
225 self.menuBg.image.context.fillStyle = "#bb7777";
226 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, gauge, self.GAUGE_HEIGHT);
233 var label = new Label(TEXT);
236 label.x = self.START_XPOS;
237 label.y = self.START_YPOS + 60;
238 label.textWidth = menuBg.image.context.measureText(TEXT).width;
241 draw: function(yukkuriObj){
242 var gauge =yukkuriObj.param.sleep;
243 self.menuBg.image.context.fillStyle = "#ffffff";
244 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, 100, self.GAUGE_HEIGHT);
245 self.menuBg.image.context.fillStyle = "#bb7777";
246 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, gauge, self.GAUGE_HEIGHT);
253 var label = new Label(TEXT);
256 label.x = self.START_XPOS;
257 label.y = self.START_YPOS + 80;
258 label.textWidth = menuBg.image.context.measureText(TEXT).width;
261 draw: function(yukkuriObj){
262 var gauge =yukkuriObj.param.stress;
263 self.menuBg.image.context.fillStyle = "#ffffff";
264 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, 100, self.GAUGE_HEIGHT);
265 self.menuBg.image.context.fillStyle = "#bb7777";
266 self.menuBg.image.context.fillRect(self.GAUGE_XPOS, this.label.y, gauge, self.GAUGE_HEIGHT);
271 this.menuBg.image.context.fillStyle = '#ff0000';
272 for(var key in this.labelParams){
273 var labelObj = this.labelParams[key];
275 labelGroup.addChild(labelObj.label);
277 menuBg.addChild(labelGroup);
279 draw: function(yukkuriObj){
280 for(var key in this.labelParams){
281 var labelObj = this.labelParams[key];
282 labelObj.draw(yukkuriObj);
289 // var MangLabel = enchant.Class.create({
290 // initialize: function (ctl, menuBg){
292 // var labelGroup = new LabelGroup();
293 // this.START_XPOS = 4;
294 // this.START_YPOS = GAME_HEIGHT / 2;
295 // this.menuBg = menuBg;
296 // this.widthArr = [];
297 // this.WIDTH_MARGIN = 4;
298 // var FONT = "14px 'Times New Roman'";
299 // var COLOR = "#ffffff";
300 // menuBg.image.context.font = FONT;
303 // "yukkuri" : function(){
304 // var TEXT = "ゆっくり";
305 // var label = new Label(TEXT);
306 // label.color = COLOR;
307 // label.font = FONT;
308 // label.x = self.START_XPOS;
309 // label.y = self.START_YPOS;
310 // label.textWidth = menuBg.image.context.measureText(TEXT).width;
312 // "hungry" : function(){
314 // var label = new Label(TEXT);
315 // label.color = COLOR;
316 // label.font = FONT;
317 // label.x = self.START_XPOS;
318 // label.y = self.START_YPOS + 20;
319 // label.textWidth = menuBg.image.context.measureText(TEXT).width;
324 // this.labels["yukkuri"]();
325 // console.log(this.labels["yukkuri"]().textWidth);
326 // // for(var key in this.labels){
327 // // console.log(key);
328 // // var label = this.labels[key]();
329 // // // labelGroup.addChild(label);
331 // // var width = this.widthArr['yukkuri'];
332 // // this.menuBg.image.context.fillStyle = '#ff0000';
333 // // this.menuBg.image.context.fillRect(this.START_XPOS + width, this.START_YPOS, 100, 30);
334 // // menuBg.addChild(labelGroup);
337 // label = this.labels[key]();
338 // this.menuBg.image.context.fillStyle = '#ff0000';
339 // this.menuBg.image.context.fillRect(label.x, label.y, 100, 14);