zoukankan      html  css  js  c++  java
  • Cocos2d JS 之消灭星星(—) 游戏初始化场景的建立

    
    
      1 /*
      2  * 游戏初始化场景的建立
      3  */
      4 var GameInitializeScene = ccui.Layout.extend(
      5 {
      6     size:null,
      7     isMusic:true,
      8     ctor:function()
      9     {
     10         this._super();
     11         this.zinit();
     12         this.setTopInfor();
     13         this.setBlinkAction();
     14         this.scheduleOnce(this.setGameButton, 1);//延时1s
     15     },
     16     //设置与玩家交互的按钮(新游戏、继续游戏、帮助、退出)
     17     setGameButton:function()
     18     {
     19         var gap = 7;
     20         var a = 340, b = 275, c = 210, d = 145;
     21         //新游戏
     22         var newGameBtn = new myButton(res.newgame);
     23         var endX = this.size.width - newGameBtn.width >> 1;
     24         var endY = this.size.height+100;;
     25         newGameBtn.name = "newGame";
     26         newGameBtn.x = endX;
     27         newGameBtn.y = endY;
     28         this.addChild(newGameBtn, 1);
     29         //action1
     30         var moveTo1 = cc.MoveTo.create(5, cc.p(endX, a));
     31         var easeOut1 = moveTo1.clone().easing(cc.easeElasticOut());
     32         newGameBtn.runAction(easeOut1);
     33         
     34         //继续游戏
     35         var continueGameBtn = new myButton(res.resume);
     36         continueGameBtn.name = "continueGame";
     37         continueGameBtn.x = endX;
     38         continueGameBtn.y = endY
     39         this.addChild(continueGameBtn, 1);
     40         //action2
     41         var moveTo2 = cc.MoveTo.create(4, cc.p(endX, b));
     42         var easeOut2 = moveTo2.clone().easing(cc.easeElasticOut());
     43         continueGameBtn.runAction(easeOut2);
     44         
     45         //帮助
     46         var helpGameBtn = new myButton(res.help);
     47         helpGameBtn.name = "helpGame";
     48         helpGameBtn.x = endX;
     49         helpGameBtn.y = endY;
     50         this.addChild(helpGameBtn, 1);
     51         //action3
     52         var moveTo3 = cc.MoveTo.create(3, cc.p(endX, c));
     53         var easeOut3 = moveTo3.clone().easing(cc.easeElasticOut());
     54         helpGameBtn.runAction(easeOut3);
     55         
     56         //退出
     57         var exitGameBtn = new myButton(res.exit);
     58         exitGameBtn.name = "exitGame";
     59         exitGameBtn.x = endX;
     60         exitGameBtn.y = endY;
     61         this.addChild(exitGameBtn, 1);
     62         //action4
     63         var moveTo4 = cc.MoveTo.create(2, cc.p(endX, d));
     64         var easeOut4 = moveTo4.clone().easing(cc.easeElasticOut());
     65         exitGameBtn.runAction(easeOut4);
     66         
     67         newGameBtn.addTouchEventListener(this.btnControlGameFunc, this);
     68         continueGameBtn.addTouchEventListener(this.btnControlGameFunc, this);
     69         helpGameBtn.addTouchEventListener(this.btnControlGameFunc, this);
     70         exitGameBtn.addTouchEventListener(this.btnControlGameFunc, this);
     71     },
     72     //按钮侦听函数
     73     btnControlGameFunc:function(target, state)
     74     {
     75         if(state == ccui.Widget.TOUCH_ENDED)//松开
     76         {
     77             switch (target.name)
     78             {
     79                 case "newGame":            //进入新游戏
     80                     var newGameScene = TransitionScene.createScene(true);
     81                     cc.director.runScene(cc.TransitionFade.create(1, newGameScene));
     82                     cc.log("newGame");
     83                     break;
     84                 case "continueGame"://继续游戏
     85                     var newGameScene = TransitionScene.createScene(false);
     86                     cc.director.runScene(cc.TransitionFade.create(1, newGameScene));
     87                     break;
     88                 case "helpGame"://游戏帮助
     89                     var helpScene = GameHelpLayout.createScene();
     90                     cc.director.runScene(cc.TransitionFade.create(1, helpScene));
     91                     break;
     92                 case "exitGame"://退出游戏
     93                     cc.log("exitGame");
     94                     break;
     95             }
     96         }
     97     },
     98     //设置三个Blink图片分别从屏幕左右出现动画
     99     setBlinkAction:function()
    100     {
    101         var blink1 = new myImage(res.blink1);
    102         blink1.x = -blink1.width - 20;
    103         blink1.y = this.size.height - blink1.height - 65;
    104         this.addChild(blink1, 1);
    105         var moveTo1 = cc.moveTo(1, cc.p((this.size.width-blink1.width)/2, blink1.y));
    106         blink1.runAction(moveTo1);
    107         
    108         var blink2 = new myImage(res.blink2);
    109         blink2.x = this.size.width + 20;
    110         blink2.y = blink1.y - blink2.height+40;
    111         this.addChild(blink2, 1);
    112         var moveTo2 = cc.moveTo(1, cc.p((this.size.width-blink1.width)/2 - 30, blink2.y));
    113         blink2.runAction(moveTo2);
    114         
    115         var blink3 = new myImage(res.blink3);
    116         blink3.x = blink1.x;
    117         blink3.y = blink2.y - blink3.height+70;
    118         this.addChild(blink3, 1);
    119         var moveTo3 = cc.moveTo(1, cc.p((this.size.width-blink1.width)/2 + 50, blink3.y));
    120         blink3.runAction(moveTo3);
    121     },
    122     //设置游戏初始化界面顶部显示信息(最高纪录、声音控制)
    123     setTopInfor:function()
    124     {
    125         var maxRecord = new myImage(res.maxrecord);
    126         maxRecord.x = 10;
    127         maxRecord.y = this.size.height - maxRecord.height - 20;
    128         this.addChild(maxRecord, 1);
    129         
    130         var maxScore = new myImage(res.maxscore);
    131         maxScore.x = maxRecord.x + maxRecord.width + 30;
    132         maxScore.y = maxRecord.y;
    133         this.addChild(maxScore, 1);
    134         //最高纪录
    135         var maxScoreLabel = new myText(this.maxScore.toString(), white, 26);
    136         maxScoreLabel.x = maxScore.x+(maxScore.width - maxScoreLabel.width)/2;
    137         maxScoreLabel.y = maxScore.y;
    138         this.addChild(maxScoreLabel, 2);
    139         //声音喇叭
    140         var laba = new myButton(res.labaok);
    141         laba.x = this.size.width - laba.width - 5;
    142         laba.y = maxScore.y;
    143         this.addChild(laba, 1);
    144         laba.addTouchEventListener(this.controlLabaFunc, this);
    145     },
    146     //喇叭控制响应侦听函数
    147     controlLabaFunc:function(target, state)
    148     {
    149         if(state == ccui.Widget.TOUCH_ENDED)//松开
    150         {
    151             if(this.isMusic)//设为静音
    152             {
    153                 target.loadTextures(res.labano, "");
    154                 this.isMusic = false;
    155             }
    156             else    //播放音乐
    157             {
    158                 target.loadTextures(res.labaok, "");
    159                 this.isMusic = true;
    160             }
    161         }
    162     },
    163     //初始化函数
    164     zinit:function()
    165     {
    166         //设置布局大小
    167         this.size = cc.size(480, 800);
    168         this.setSize(this.size);
    169         //实例化背景图片
    170         var backGround = new myImage(res.mainbacktop);
    171         backGround.y = this.size.height - backGround.height;
    172         this.addChild(backGround, 0);
    173         var backGround1 = new myImage(res.mainbackbottom);
    174         this.addChild(backGround1, 0);
    175         //玩家本地数据
    176         this.playerGameData = PlayerLocalData.getItem();
    177         //这里要注意,第一次进入游戏时,this.playerGameData是一个数组,之后就变成对象了,这里确保游戏中统一用对象
    178         if(this.playerGameData.length == true)
    179         {
    180             this.playerGameData = this.playerGameData[0];
    181         }
    182         else
    183         {
    184             this.playerGameData = this.playerGameData;
    185         }
    186         this.maxScore = this.playerGameData.maxScore;//游戏最高得分
    187     }
    188 });
    189 
    190 
    191 GameInitializeScene.createScene = function()
    192 {
    193     var scene = cc.Scene.create();
    194     var layout = new GameInitializeScene();
    195     scene.addChild(layout);
    196     return scene;
    197 };
    
    
    
     

    /**************effect Image**********************/
    
    
  • 相关阅读:
    Navicat For SQL Server 修改字段为自增主键
    navicat for sql server 12下载地址
    git 同时关联多个远程库
    Mysql general_log 日志详解
    angular教程
    Python代码写好了怎么运行?
    python mysql自增字段AUTO_INCREMENT值的修改方式
    Python自学教材推荐 初学者必看
    永久性差异
    如何关闭搜狗的流氓弹窗广告
  • 原文地址:https://www.cnblogs.com/zfsSuperDream/p/4054980.html
Copyright © 2011-2022 走看看