123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- /*
- var menuState = {
- create: function(){},
- ---------------------------- end of phaser functions
- func_loadGame: function(){},
- func_showTitle: function(){},
- func_clearTitle: function(){},
- }
- */
- var menuState = {
- inputStartPosition: null,
- inputEndPosition: null,
-
- isCameraMoving: false,
- extraWidth: null,
- title: null,
- lbl_game: null,
- player_info: null,
- // creating game menu screen assets
- create: function() {
-
- if(loadAssets.levelSpriteList.length > 8){
- var aux = loadAssets.levelSpriteList.length-8;
- this.extraWidth = (aux%2==0) ? (aux/2)*235 : ((aux+1)/2)*235;
- }else{
- this.extraWidth = 0;
- }
- // CAMERA
- this.game.world.setBounds(0, 0, this.game.world.width + this.extraWidth, this.game.world.height);
-
- // Floor
- for(var i=0;i<this.game.world.width/100;i++){
- game.add.image(i*100, 501, 'floor');
- }
- // LABELS
- // Player name
- this.player_info = game.add.text(this.game.world.centerX - this.extraWidth/2, 40, lang.welcome + ", " + username + "!", { font: "20px Arial", fill: "#330000", align: "center" });
- this.player_info.anchor.setTo(0.5,0.5);
- // Title : Select a game
- var style = { font: "32px Arial", fill: "#00804d", align: "center" };
- this.title = game.add.text(this.game.world.centerX - this.extraWidth/2, 80, lang.menu_title, style);
- this.title.anchor.setTo(0.5,0.5);
- // Subtitle : Game mode
- var style_game = { font: "27px Arial", fill: "#003cb3", align: "center" };
- this.lbl_game = game.add.text(this.game.world.centerX - this.extraWidth/2, 110, "", style_game);
- this.lbl_game.anchor.setTo(0.5,0.5);
- // BUTTONS
- // Navigation buttons
- buttonSettings["func_addButtons"](false,true,
- false,false,false,
- true,true,
- false,false);
-
- // Game buttons
- var x = -350;
- var y = -70;
- var menuObjList = [];
- for(var i=0; i<loadAssets.levelSpriteList.length; i++){
- menuObjList[i] = game.add.sprite(defaultWidth/2 + x, this.game.world.centerY + y, 'game'+i);
- menuObjList[i].anchor.setTo(0.5, 0.5);
- menuObjList[i].inputEnabled = true;
- menuObjList[i].input.useHandCursor = true;
- menuObjList[i].events.onInputDown.add(this.func_loadGame,{levelType: loadAssets.levelTypeList[i], beep: beepSound, shape: loadAssets.levelShapeList[i], label : true, game: this.game, extraWidth: this.extraWidth});
- menuObjList[i].events.onInputOver.add(this.func_showTitle,{levelType: loadAssets.levelTypeList[i], beep: beepSound, shape : loadAssets.levelShapeList[i], label : true, menu: menuObjList[i], lbl_game: this.lbl_game});
- menuObjList[i].events.onInputOut.add(this.func_clearTitle, {menu: menuObjList[i], lbl_game: this.lbl_game});
- if((i+1)%2==1){
- y=90;
- }else{
- y=-70;
- x+=235;
- }
- }
- // TURNING MOUSE INPUT CAPTURE ON TO MANAGE PAGE SCROLL
- this.input.mouse.capture = true;
- },
- update: function(){
-
- if(this.input.activePointer.leftButton.isUp){
- this.inputUp();
- }
- if(this.input.activePointer.leftButton.isDown){
- this.inputDown();
- }
- if(this.isCameraMoving){
- this.camera.x += (this.inputStartPosition.x - this.input.activePointer.x)/50;
- this.title.x = (this.game.world.centerX - this.extraWidth/2) + this.camera.x;
- this.lbl_game.x = (this.game.world.centerX - this.extraWidth/2) + this.camera.x;
- this.player_info.x = (this.game.world.centerX - this.extraWidth/2) + this.camera.x;
- buttonSettings["changeRightButtonX"]((defaultWidth) + this.camera.x);
- }
- },
-
- inputDown: function(){
- if(!this.isCameraMoving){
- this.inputStartPosition = new Phaser.Point(this.input.activePointer.x, this.input.activePointer.y);
- }
- this.isCameraMoving = true;
- },
- inputUp: function(){
- this.isCameraMoving = false;
- },
- //calls the selected game menu screen
- func_loadGame: function(){
- if(debugMode) console.log("antes: "+this.game.world.width);
- this.game.world.setBounds(0, 0, defaultWidth, this.game.world.height);
- if(debugMode) console.log("depois: "+this.game.world.width);
- if(audioStatus){
- this.beep.play();
- }
- levelShape = this.shape;
- levelLabel = this.label;
- if(this.shape=="Square"){
-
- if(this.levelType==1 || this.levelType==2){
-
- if(this.levelType==1){
- levelType = "A";
- }else if(this.levelType==2){
- levelType = "B";
- }
- if(debugMode) console.log("Square One");
- game.state.start('menuSquareOne');
-
- }else if(this.levelType==3){
-
- levelType = "C";
-
- if(debugMode) console.log("Square Two, "+levelType);
- game.state.start('menuSquareTwo')
-
- }
- }else if(this.shape=="Circle"){
-
- if (this.levelType==1){
- levelType = "A";
- }else if (this.levelType==2){
- levelType = "B";
- }
-
- if(debugMode) console.log("Circle One");
- game.state.start('menuCircleOne');
-
- }
- },
- func_showTitle: function(){
-
- var title = "";
- var type = "";
-
- if(this.levelType==1){
- type = "I";
- }
- if(this.levelType==2){
- type = "II";
- }
- if(this.levelType==3){
- type = "III";
- }
-
- if(this.shape=="Circle"){
- title += lang.circle_name;
- }else if(this.shape=="Square"){
- title += lang.square_name;
- }
-
- if(type!=""){
- //circ/quad I/II/III
- title += " " + type;
- }
- this.lbl_game.text = title;
- this.menu.scale.setTo(1.05);
- },
- func_clearTitle: function(){
-
- this.lbl_game.text = "";
-
- this.menu.scale.setTo(1);
- }
-
- };
|