Cocos2d JS 之消灭星星(三) 进入游戏过渡场景
1 /* 2 * 游戏过渡场景,主要作用是在每次进入游戏或者进入下一关卡时进行过渡,显示当前的关卡以及通过该关卡要达到的分数; 3 */ 4 var TransitionScene = ccui.Layout.extend( 5 { 6 size:null, 7 ctor:function(isNewGame) 8 { 9 this._super(); 10 this.isNewGame = isNewGame; 11 this.zinit(); 12 this.setLabel(); 13 this.gotoGameMainScene(); 14 }, 15 //设置显示文本(当前关卡数,通过关卡分数) 16 setLabel:function() 17 { 18 //当前进入关卡 19 var currentLevel = new myText("level "+this.levelNumber.toString(),white, 20); 20 currentLevel.x = this.size.width - currentLevel.width >> 1;//居中 21 currentLevel.y = 500; 22 this.addChild(currentLevel, 1); 23 24 var targetTxt = new myText("target score is", white, 20); 25 targetTxt.x = this.size.width - targetTxt.width >> 1; 26 targetTxt.y = currentLevel.y - targetTxt.height - 10; 27 this.addChild(targetTxt, 1); 28 //通关分数 29 var targetScore = new myText(this.standardScore.toString(), white, 20); 30 targetScore.x = this.size.width - targetScore.width >> 1; 31 targetScore.y = targetTxt.y - targetScore.height - 10; 32 this.addChild(targetScore, 1); 33 }, 34 //进入游戏主场景 35 gotoGameMainScene:function() 36 { 37 //两秒后进入游戏主界面 38 this.scheduleOnce(function() 39 { 40 var gMainScene = GameMainScene.createScene(); 41 cc.director.runScene(cc.TransitionFade.create(1, gMainScene)); 42 }, 2); 43 }, 44 //初始化 45 zinit:function() 46 { 47 //设置布局大小 48 this.size = cc.size(480, 800); 49 this.setSize(this.size); 50 //实例化背景图片 51 var backGround = new myImage(res.mainbacktop); 52 backGround.y = this.size.height - backGround.height; 53 this.addChild(backGround, 0); 54 var backGround1 = new myImage(res.mainbackbottom); 55 this.addChild(backGround1, 0); 56 57 //初始化玩家信息 58 if(this.isNewGame == true) 59 { 60 PlayerLocalData.deleteItem(); 61 } 62 this.playerGameData = PlayerLocalData.getItem(); 63 //这里要注意,第一次进入游戏时,this.playerGameData是一个数组,之后就变成对象了,这里确保游戏中统一用对象 64 if(this.playerGameData.length == true) 65 { 66 this.playerGameData = this.playerGameData[0]; 67 } 68 else 69 { 70 this.playerGameData = this.playerGameData; 71 } 72 this.levelNumber = this.playerGameData.currentLevel;//当前关卡数字 73 //获得当前关卡的目标分数 74 for(var i = 0; i < levelData.length; i++) 75 { 76 if(this.levelNumber == levelData[i].level) 77 { 78 this.standardScore = levelData[i].standards; 79 break; 80 } 81 } 82 } 83 }); 84 //实例化场景 85 TransitionScene.createScene = function(isNewGame) 86 { 87 var tScene = cc.Scene.create(); 88 var tLayout = new TransitionScene(isNewGame); 89 tScene.addChild(tLayout); 90 return tScene; 91 };
/******************************effect image****************************/
![](http://images0.cnblogs.com/blog/686056/201410/281941401442139.jpg)