| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- cc.Class({
- extends: cc.Component,
- properties: {
- //中间加分条
- UIPKScore: {
- default: null,
- type: cc.Prefab
- },
- //胜利
- UIWin: {
- default: null,
- type: cc.Prefab
- },
- //失败
- UILose: {
- default: null,
- type: cc.Prefab
- },
- //撒花
- Fireworks: {
- default: null,
- type: cc.Prefab
- },
- //完美
- UIPerfect: {
- default: null,
- type: cc.Prefab
- },
- //左面距离头像
- LeftRivalHead: {
- default: null,
- type: cc.Prefab
- },
- //右面距离头像
- RightRivalHead: {
- default: null,
- type: cc.Prefab
- },
- //跳远 扔标枪 的计数板
- UIDistance: {
- default: null,
- type: cc.Prefab
- },
- //底部普通加速带提示
- TipOfNormalAcceleration: {
- default: null,
- type: cc.Prefab
- },
- //底部长加速带提示
- TipOfLongAcceleration: {
- default: null,
- type: cc.Prefab
- },
- ReadyGoPrefab: {
- default: null,
- type: cc.Prefab
- },
- RivelHeadImage: null,
- UITop: null,
- VideoStatesLeft: cc.Node,
- VideoStatesRight: cc.Node,
- MyHead: cc.Node,
- RiveelHead: cc.Node,
- },
- onLoad() {
- this.UITop = cc.find('Canvas/UITop');
- },
- // start() {
- // this.setTopMyScore("9");
- // this.setTopRivalScore("9");
- // this.hideTimerPerfect(3);
- // this.hideTimerMiddlePKScore("7","8",5);
- // this.hideTimerDistanceNum("121.00",8);
- // this.hideTimerTimeNum("8.20",2)
- // },
- setScoreNumImage: function (ScoreNum, numNode) {
- var imgName = "";
- if (ScoreNum <= 5) {
- imgName = "Nums/0to3White/" + ScoreNum;
- }
- var self = numNode;
- cc.loader.loadRes(imgName, cc.SpriteFrame, function (err, spriteFrame) {
- self.getComponent(cc.Sprite).spriteFrame = spriteFrame;
- });
- },
- setMiddleMyScore: function (aPrefab, myScore) {//设置自己的分数(图片中部)
- this.setScoreNumImage(myScore, aPrefab.getChildByName('MiddleMyScore'));
- },
- setMiddleRivalScore: function (aPrefab, rivalScore) {//设置对手的分数(图片中部)
- this.setScoreNumImage(rivalScore, aPrefab.getChildByName('MiddleRivalScore'));
- },
- setTopMyScore: function (ScoreNum) {//设置顶部自己分数图片string
- this.UITop.getChildByName('TopMyScore').getComponent('TopScore').setScoreNumImage(ScoreNum);
- },
- setTopRivalScore: function (ScoreNum) {//设置顶部对手PK分数图片string
- this.UITop.getChildByName('TopRivalScore').getComponent('TopScore').setScoreNumImage(ScoreNum);
- },
- setDistanceNum: function (distanceNum) {//成绩:米数string
- cc.find('UIDistance').getChildByName('DistanceNum').getComponent(cc.Label).string = distanceNum + "M";
- },
- setTimeNum: function (secondNum) {//成绩:秒数string
- cc.find('UIDistance').getChildByName('TimeNum').getComponent(cc.Label).string = secondNum + "s";
- },
- //以上是设置数值,以下是设置某UI显示某秒后消失的计时器
- setUIActiveTimer: function (actor, timerSecond) {//UI显示消失计时器
- actor.active = true;
- /**
- * timerSecond 表示此UI显示timerSecond秒后消失。当timerSecond为0的时候,此UI一直显示,不会消失。
- */
- if (timerSecond > 0) {
- this.scheduleOnce(function () {
- actor.active = false;
- }, timerSecond);
- }
- },
- setUIActiveTimer_destroy: function (actor, timerSecond) {//UI显示消失计时器
- /**
- * timerSecond 表示此UI显示timerSecond秒后消失。当timerSecond为0的时候,此UI一直显示,不会消失。
- */
- if (actor == null) {
- return;
- }
- if (timerSecond > 0) {
- this.scheduleOnce(function () {
- actor.destroy();
- }, timerSecond);
- }
- },
- setUIActiveShow: function setUIActiveTimer(actor) {
- //UI显示消失计时器
- actor.active = true;
- },
- displayTimerMiddlePKScore: function (myScore, rivalScore, timerSecond) {
- // console.log("my is "+myScore+" and rival is "+rivalScore);
- var aPrefab = cc.instantiate(this.UIPKScore);
- aPrefab.setOpacity(0);
- aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
- // console.log("This scene is "+cc.director.getScene().name);
- aPrefab.anchorX = 0;
- this.setMiddleMyScore(aPrefab, myScore);
- this.setMiddleRivalScore(aPrefab, rivalScore);
- this.setUITimer(aPrefab, timerSecond);
- aPrefab.setOpacity(255);
- // this.scheduleOnce(function() {
- // aPrefab.setOpacity(255);
- // }, 0.5);
- },
- hideMiddlePKScore: function () {
- var UIScore = cc.find('UIPKScore');
- if (UIScore) {
- var animState = UIScore.getComponent(cc.Animation).play('UIPKScoreFadeOut');
- var duration = animState.duration;
- this.scheduleOnce(function () {
- // console.log('UIScore=',UIScore.name);
- UIScore.destroy();
- }, duration);
- }
- },
- hideTimerDistanceNum: function (distanceNum, timerSecond) {//成绩米数显示后隐藏
- this.setDistanceNum(distanceNum);
- this.setUIActiveTimer(cc.find('UIDistance'), timerSecond)
- },
- hideTimerTimeNum: function (timeNum, timerSecond) {//成绩秒数显示后隐藏
- this.setDistanceNum(timeNum);
- this.setUIActiveTimer(cc.find('UIDistance'), timerSecond)
- },
- hideTimerPerfect: function (timerSecond) {//pererfect显示后隐藏
- if (cc.find('UIPerfect') != null) {
- cc.find('UIPerfect').destroy();
- }
- var aPrefab = cc.instantiate(this.UIPerfect);
- aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
- // aPrefab.anchorY = 0.5;
- this.setUITimer(aPrefab, timerSecond);
- // cc.find('UIPerfect').active = true;
- aPrefab.getChildByName('perfect').getComponent(cc.Animation).play('PerfectMoveUp');
- },
- displayRivalHead: function (isLeft) {//当对手与自己不在一个屏幕的时候,显示对手头像
- if (isLeft) {
- if (cc.find("RightRivalHead") != null) {
- cc.find('RightRivalHead').destroy();
- }
- if (cc.find("LeftRivalHead") == null) {
- // cc.find('LeftRivalHead').destroy();
- var aPrefab = cc.instantiate(this.LeftRivalHead);
- aPrefab.parent = cc.director.getScene();
- aPrefab.getChildByName('HeadMask').getChildByName('tx').getComponent(cc.Sprite).spriteFrame = this.RivelHeadImage;
- }
- } else {
- if (cc.find("LeftRivalHead") != null) {
- cc.find('LeftRivalHead').destroy();
- }
- if (cc.find("RightRivalHead") == null) {
- // cc.find('LeftRivalHead').destroy();
- var aPrefab = cc.instantiate(this.RightRivalHead);
- aPrefab.parent = cc.director.getScene();
- aPrefab.getChildByName('HeadMask').getChildByName('tx').getComponent(cc.Sprite).spriteFrame = this.RivelHeadImage;
- }
- }
- // cc.find("LeftRivalHead").active = isLeft;
- // cc.find("RightRivalHead").active = !isLeft;
- },
- hideRivalHead: function () {//当对手与自己在一个屏幕的时候,隐藏对手头像
- if (cc.find("LeftRivalHead") != null) {
- cc.find('LeftRivalHead').destroy();
- }
- if (cc.find("RightRivalHead") != null) {
- cc.find('RightRivalHead').destroy();
- }
- // cc.find("LeftRivalHead").active = false;
- // cc.find("RightRivalHead").active = false;
- },
- displayUIWin: function () {//显示胜利界面
- var aPrefab = cc.instantiate(this.UIWin);
- aPrefab.parent = cc.director.getScene();//中部PK积分显示后隐藏
- // cc.find('UIWin').active = true;
- },
- displayUILose: function () {//显示失败界面
- var aPrefab = cc.instantiate(this.UILose);
- aPrefab.parent = cc.director.getScene();//中
- // cc.find('UILose').active = true;
- },
- displayUIDistance: function () {//显示跳远 扔标枪
- var aPrefab = cc.instantiate(this.UIDistance);
- if (cc.find("UIDistance") != null) {
- return aPrefab
- }
- aPrefab.parent = cc.director.getScene();//中
- // cc.find('UILose').active = true;
- return aPrefab;
- },
- hideUIDistance: function () {//当对手与自己在一个屏幕的时候,隐藏对手头像
- if (cc.find("UIDistance") != null) {
- cc.find('UIDistance').destroy();
- }
- },
- playFireworks: function () {
- // cc.find('Fireworks').active = true;
- var aPrefab = cc.instantiate(this.Fireworks);
- aPrefab.parent = cc.director.getScene();//
- },
- hideTimerTipOfNormalAcceleration: function (timerSecond) {//开局时加速带提示
- var aPrefab = cc.instantiate(this.TipOfNormalAcceleration);
- aPrefab.parent = cc.director.getScene();
- aPrefab.anchorX = 0;
- aPrefab.x = 360;
- aPrefab.y = 640;
- this.setUITimer(aPrefab, timerSecond);
- },
- hideTimerTipOfLongAcceleration: function (timerSecond) {//长加速带提示
- var aPrefab = cc.instantiate(this.TipOfLongAcceleration);
- aPrefab.parent = cc.director.getScene();
- aPrefab.anchorX = 0;
- aPrefab.x = 360;
- aPrefab.y = 640;
- this.setUITimer(aPrefab, timerSecond);
- },
- setImage_Player1: function (src) {
- cc.loader.load({ url: src, type: 'jpg' }, function (err, texture) {
- var frame = new cc.SpriteFrame(texture);
- if (err) {
- console.log('玩家1的头像:', err);
- }
- //cc.find('Canvas/UITop/MyHeadMask').getChildByName('MyHead').getComponent(cc.Sprite).spriteFrame = frame;
- this.MyHead.getComponent(cc.Sprite).spriteFrame = frame;
- }.bind(this));
- },
- setImage_Player2: function (src) {
- // console.log('玩家2的头像:',src);
- // var self = this;
- cc.loader.load({ url: src, type: 'jpg' }, function (err, texture) {
- var frame = new cc.SpriteFrame(texture);
- if (err) {
- console.log('玩家2的头像:', err);
- }
- // cc.find('Canvas/UITop/RivalHeadMask').getChildByName('RivalHead').getComponent(cc.Sprite).spriteFrame = frame;
- this.RiveelHead.getComponent(cc.Sprite).spriteFrame = frame;
- this.RivelHeadImage = frame;
- }.bind(this));
- },
- setName_Player1: function (name) {
- // cc.find('UITop').getChildByName('MyName').getComponent(cc.Label).String = name;
- var MyName = this.UITop.getChildByName('MyName');
- var myLabel = MyName.getComponent(cc.Label);
- // myLabel.string = this.subString('HH昵称最多七1个字',14);
- myLabel.string = this.subString(name, 14);
- },
- setName_Player2: function (name) {
- //todo 设置文字的坑
- // cc.find('UITop').getChildByName('RivalName').getComponent(cc.Label).String = name;
- var RivalName = this.UITop.getChildByName('RivalName');
- var myLabel = RivalName.getComponent(cc.Label);
- myLabel.string = this.subString(name, 14);
- },
- subString: function (str, subNum) {//截取str的subNum个字符。中文算2个,中文之外算1个。
- var currentNum = 0;
- var subStr = '';
- for (var i = 0; i < str.length; i++) {
- if (currentNum <= subNum) {
- if (currentNum + 3 > subNum) {
- subStr += "...";
- break;
- }
- else {
- var strI = str[i];
- if (/^[\u4e00-\u9fa5]*$/.test(strI)) {//中文字符
- currentNum += 2;
- subStr += strI;
- // cc.log(strI+'++++++++++');
- }
- else {//除了中文外的其它字符
- currentNum += 1;
- subStr += strI;
- // cc.log(strI+'*********');
- }
- }
- }
- }
- if (str.length) {
- }
- return subStr;
- },
- setName_Gender1: function (name) {
- // cc.find('UITop').getChildByName('MyName').getComponent(cc.Label).String = name;
- var MyName = this.UITop.getChildByName('GenderPlayer1');
- var src = "nan";
- if (name == "1") {
- } else {
- src = "nv";
- }
- cc.loader.loadRes(src, cc.SpriteFrame, function (err, spriteFrame) { //这个方法
- MyName.getComponent(cc.Sprite).spriteFrame = spriteFrame;
- });
- // cc.loader.load(src,function (err, texture) {
- //
- // var frame=new cc.SpriteFrame(texture);
- // MyName.getComponent(cc.Sprite).spriteFrame=frame;
- // });
- },
- setName_Gender2: function (name) {
- //todo 设置文字的坑
- // cc.find('UITop').getChildByName('RivalName').getComponent(cc.Label).String = name;
- var MyName = this.UITop.getChildByName('GenderPlayer2');
- var src = "nan";
- if (name == "1") {
- } else {
- src = "nv";
- }
- cc.loader.loadRes(src, cc.SpriteFrame, function (err, spriteFrame) { //这个方法
- MyName.getComponent(cc.Sprite).spriteFrame = spriteFrame;
- });
- },
- setUITimer: function (actor, timerSecond) {//UI显示消失计时器
- // actor.active=true;
- /**
- * timerSecond 表示此UI显示timerSecond秒后消失。当timerSecond为0的时候,此UI一直显示,不会消失。
- */
- if (timerSecond > 0) {
- this.scheduleOnce(function () {
- if (actor.name != "") {
- actor.destroy();
- // console.log(actor.name+" destroy.");
- }
- }, timerSecond);
- }
- },
- resetGame: function () {//再来一次游戏
- var Hero = cc.find("Hero");
- var NetworkSocket = Hero.getComponent('NetworkSocket');
- NetworkSocket.endGame();
- // if (cc.director.isPaused()) {
- // //暂停游戏
- // cc.director.resume();
- // } else {
- // //暂停游戏
- // cc.director.pause();
- // }
- //测试切换头像
- // var GameStates = cc.find('Canvas').getComponent('GameStates');
- // if (GameStates.bServer) {
- // console.log(111);
- // var randomSkin = cc.find("randomSkin");
- // randomSkin.getComponent("upDateSkin").setRandomSkinss();
- // }
- //重新读取场景
- // cc.director.loadScene("camera_Mutiplayers");
- },
- CreateReadyGo: function () {
- var aPrefab = cc.instantiate(this.ReadyGoPrefab);
- aPrefab.parent = cc.director.getScene();
- aPrefab.anchorX = 0.5;
- aPrefab.x = 355;
- aPrefab.y = 918;
- aPrefab.setLocalZOrder(1000);
- return aPrefab;
- },
- //设置语音状态
- setPlayerVoice(isSelf, isOpen) {
- if (isSelf == 1) {
- //自己
- if (isOpen == 1) {
- this.VideoStatesLeft.getChildByName('Open').active = true;
- this.VideoStatesLeft.getChildByName('Close').active = false;
- } else if (isOpen == 0) {
- this.VideoStatesLeft.getChildByName('Open').active = false;
- this.VideoStatesLeft.getChildByName('Close').active = true;
- }
- } else if (isSelf == 2) {
- //对手
- if (isOpen == 1) {
- this.VideoStatesRight.getChildByName('Open').active = true;
- this.VideoStatesRight.getChildByName('Close').active = false;
- } else if (isOpen == 0) {
- this.VideoStatesRight.getChildByName('Open').active = false;
- this.VideoStatesRight.getChildByName('Close').active = true;
- }
- }
- }
- });
|