Advertisement
Guest User

Untitled

a guest
Aug 15th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import BitmapMask = Phaser.Display.Masks.BitmapMask;
  2. import POINTER_UP = Phaser.Input.Events.POINTER_UP;
  3.  
  4. class CharacterScene extends WTScene
  5. {
  6.     private title_txt               : Phaser.GameObjects.Text;
  7.     private activeCategoryIDX       : number = 0;
  8.     private activeCategory          : string;
  9.     private levelsDict_arr          : any[];
  10.     private categories_arr          : string[];
  11.  
  12.     constructor(props)
  13.     {
  14.         super(Main.CHARACTER, false);
  15.     }
  16.  
  17.     preload(): void
  18.     {
  19.         super.preload();
  20.  
  21.         this.load.image("character_bg", "../img/character/character_bg.png");
  22.         this.load.image("control_bg", "../img/character/controlPanelGFX.png");
  23.     }
  24.  
  25.     create():void
  26.     {
  27.         this.initDP();
  28.  
  29.         this.add.image(this.gameX,this.gameY+4,"character_bg").setOrigin(0,0);
  30.         let panelGFX : Phaser.GameObjects.Image = this.add.image(this.gameX,this.gameY + this.gameHei-91,"control_bg").setOrigin(0,0);
  31.  
  32.        // this.addCurtains();
  33.  
  34.         let txtY : number = this.gameCenterY;
  35.         this.title_txt = this.add.text(this.gameCenterX, txtY, 'Appearance', { fontFamily: 'CarnevaleeFreakshow', fontSize: 46, color: '#FFFFFF' });
  36.         this.title_txt.setStroke("#737245",4);
  37.         this.title_txt.setShadow(4,4,'#000000',5);
  38.         this.title_txt.setOrigin(0.5);
  39.  
  40.         let desc: Phaser.GameObjects.Text = this.add.text(this.gameCenterX, txtY+30, 'capture details about your character', { fontFamily: 'CarnevaleeFreakshow', fontSize: 20, color: '#FFFFFF' });
  41.         desc.setShadow(4,4,'#000000',4);
  42.         desc.setOrigin(0.5);
  43.  
  44.         //add buttons
  45.         let btnOffset : number = 92;
  46.         let btnY : number = panelGFX.y+26;
  47.  
  48.         let left_btn : CharPushBtn = new CharPushBtn(this,this.gameCenterX - btnOffset,btnY,"left");
  49.         let right_btn : CharPushBtn = new CharPushBtn(this,this.gameCenterX + btnOffset,btnY,"right");
  50.  
  51.  
  52.         if (Main.DEBUG_MODE)
  53.         {
  54.             this.showTray();
  55.         }
  56.         else
  57.         {
  58.             this.createDisableBG();
  59.         }
  60.     }
  61.  
  62.  
  63.     private initDP() : void
  64.     {
  65.         var appearance_arr  : string[]  = ["Tall", "Short", "Skinny", "Chubby", "Dark", "Fair"];
  66.         var features_arr    : string[]  = ["Blue eyes", "Brown eyes", "Green eyes", "Long hair", "Short hair","Medium hair"];
  67.         var personality_arr : string[]  = ["Friendly", "Confident", "Shy", "Kind", "Bossy", "Moody","Happy"];
  68.  
  69.         this.levelsDict_arr = [];
  70.  
  71.         this.levelsDict_arr["appearance"]   = {id:"appearance", idx:0, label:"Appearance",  words_arr:appearance_arr,   color:"yellow"};
  72.         this.levelsDict_arr["features"]     = {id:"features",   idx:1, label:"Features",    words_arr:features_arr,     color:"blue"};
  73.         this.levelsDict_arr["personality"]  = {id:"personality",idx:2, label:"Personality", words_arr:personality_arr,  color:"green"};
  74.         this.categories_arr                     = ["appearance","features","personality"];
  75.     }
  76. }
  77.  
  78. class CharPushBtn  {
  79.  
  80.     private fx              : AudioFX;
  81.     private top_btn         : Phaser.GameObjects.Image;
  82.     private startY          : number;
  83.     private endY            : number;
  84.  
  85.  
  86.     constructor(scene : Phaser.Scene, x : number, y:number, btnType :string)
  87.     {
  88.         this.fx = scene.scene.get(Main.AUDIO_FX) as AudioFX;
  89.  
  90.         //addd base
  91.         let base: Phaser.GameObjects.Image = scene.add.image(x, y, Main.UI, "craneMoveBtnBaseGFX0000");
  92.  
  93.         //add top_btn
  94.         this.startY     = y-5;
  95.         this.endY       = y-1;
  96.         this.top_btn    = scene.add.image(x, this.startY, Main.UI, "craneMoveBtnTopGFX0000");
  97.  
  98.         if (btnType == "left")
  99.         {
  100.             this.top_btn.scaleX = -1;
  101.             this.top_btn.x =x-2;
  102.         }
  103.  
  104.         let mask_gfx: Phaser.GameObjects.Image = scene.add.image(x, y-9, Main.UI, "craneMoveBtnMask0000");
  105.         let maska = new BitmapMask(scene,mask_gfx);
  106.         //mask_gfx.alpha = .5;
  107.         this.top_btn.mask = maska;
  108.  
  109.         this.top_btn.setInteractive();
  110.         this.top_btn.on(POINTER_DOWN,()=>this.onBtnDown());
  111.         this.top_btn.on(POINTER_UP,()=>this.onBtnUp());
  112.         this.top_btn.on(POINTER_OVER,()=>{this.fx.playRollover();});
  113.     }
  114.  
  115.     private onBtnDown():void
  116.     {
  117.         TweenLite.to(this.top_btn, .2,{y:this.endY, ease:Quad.easeInOut});
  118.         this.fx.playSFX(AudioFX.SERVO_START);
  119.         this.fx.toggleServoLoop();
  120.     }
  121.  
  122.     private onBtnUp():void
  123.     {
  124.         TweenLite.to(this.top_btn, .3,{y:this.startY, ease:Quad.easeIn});
  125.         this.fx.toggleServoLoop(false);
  126.     }
  127.  
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement