| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- const GameStatesStatic = require('GameStates');
- cc.Class({
- extends: cc.Component,
- properties: {
- MyArrivedTime:[],
- RivalArrivedTime:[],
- fadeInAndOutTag : false,
- bHasAddScore:false
- },
- SynchronizationFun : function(data)
- {
- if(cc.find('Canvas').getComponent('GameStates').bConnect)
- {
- var str = JSON.stringify(data);
- if (str.trim().length <= 0) {
- return
- }
- network.send(qqNetwork.game2Room.gameData, JSON.stringify({str:str}));
- }
- },
- CheckPlayersDistance: function(bFromServer)
- {
- var GameStates = cc.find('Canvas').getComponent('GameStates');
- if(GameStates.EnterStartLinePlayersArray.length >1) return;
- // cc.log('GameStates.EnterStartLinePlayersArray.length=',GameStates.EnterStartLinePlayersArray.length)
- var Hero = cc.find('Hero');
- var Rivel = cc.find('Rivel');
- if (Math.abs(Hero.position.x - Rivel.position.x) > 3000)
- {
- // cc.log('GameMode >3000');
- this.OverPosition();
- }
- else
- {
- // cc.log('GameMode PreTransport');
- GameStates.bPreTransport = true;
- this.schedule(function()
- {
- GameStates.bPreTransport = false;
- }.bind(this), 5,0);
- this.schedule(this.Transport, 3,0);
- var data = {FunctionName: 'Transport'};
- this.SynchronizationFun(data);
- this.schedule(this.UnScheduleFadeIn,0.01,cc.REPEAT_FOREVER);
- }
- },
- OverPosition:function()
- {
- var GameMode = cc.find('Canvas').getComponent('GameMode');
- var GameStates = cc.find('Canvas').getComponent('GameStates');
- var Hero = cc.find('Hero');
- var Rivel = cc.find('Rivel');
- var HeroControl = Hero.getComponent('HeroControl');
- var RivelControl = Rivel.getComponent('HeroControl');
- var PlayerStateScript = Hero.getComponent("PlayerState");
- PlayerStateScript.TouchControlEnableTouch = false;
- var data = {FunctionName: 'FadeInAndOut'};
- GameMode.SynchronizationFun(data);
- this.schedule(function()
- {
- GameStates.EnterStartLinePlayersArray=[];
- }.bind(this), 5,0);
- cc.find("Shade").getComponent('Shade').FadeInAndOut(function ()
- {
- Hero.setPositionX(GameStates.StartLinePositionX-30);
- Rivel.setPositionX(GameStates.StartLinePositionX);
- HeroControl.StopPlayerAllSchedule();
- RivelControl.StopPlayerAllSchedule();
- if(GameStates.bServer)
- {
- this.schedule(function()
- {
- this.PlayersStartToRun();
- }.bind(this), 2,0);
- }
- }.bind(this,GameMode,Rivel,HeroControl,RivelControl,GameMode,GameStates))
- },
- Transport : function()
- {
- // cc.log('GameMode Transport');
- this.unschedule(this.UnScheduleFadeIn);
- var Hero = cc.find('Hero');
- var Rivel = cc.find('Rivel');
- var HeroControl = Hero.getComponent('HeroControl');
- var RivelControl = Rivel.getComponent('HeroControl');
- this.fadeInAndOutTag = false;
- var PlayerState = cc.find("Hero").getComponent("PlayerState");
- PlayerState.TouchControlEnableTouch = false;
- cc.find("Shade").getComponent('Shade').FadeInAndOut(function ()
- {
- this.fadeInAndOutTag = true;
- Hero.setPositionX(cc.find('Canvas').getComponent('GameStates').StartLinePositionX-30);
- Rivel.setPositionX(cc.find('Canvas').getComponent('GameStates').StartLinePositionX);
- HeroControl.node.stopAllActions();
- RivelControl.node.stopAllActions();
- HeroControl.StopPlayerAllSchedule();
- RivelControl.StopPlayerAllSchedule();
- var data = {FunctionName: 'StopPlayerAllSchedule'};
- this.SynchronizationFun(data);
- }.
- bind(this),function ()
- {
- this.schedule(function()
- {
- cc.find('Canvas').getComponent('GameStates').EnterStartLinePlayersArray=[];
- }.bind(this), 5,0);
- this.schedule(function()
- {
- cc.find('Canvas').getComponent('GameStates').CurrentProgress = GameStatesStatic.GameProgress.default;
- HeroControl.javelinTag = false;
- RivelControl.javelinTag = false;
- HeroControl.CameraNode.parent = Hero;
- if(cc.find('Canvas').getComponent('GameStates').bServer)
- {
- this.schedule(function()
- {
- this.PlayersStartToRun();
- }.bind(this), 1,0);
- }
- }.bind(this),cc.find('Canvas').getComponent('GameStates').ReadyToRunDuration,0);
- }.bind(this));
- },
- UnScheduleFadeIn:function ()
- {
- var GameStates = cc.find('Canvas').getComponent('GameStates');
- var EnterStartLinePlayersArray = GameStates.EnterStartLinePlayersArray;
- if(EnterStartLinePlayersArray.length == 2)
- {
- // cc.log('GameMode Unschedule');
- this.unschedule(this.UnScheduleFadeIn);
- this.unschedule(this.Transport);
- var Hero = cc.find('Hero');
- var Rivel = cc.find('Rivel');
- var HeroControl = Hero.getComponent('HeroControl');
- var RivelControl = Rivel.getComponent('HeroControl');
- HeroControl.javelinTag = false;
- RivelControl.javelinTag = false;
- HeroControl.CameraNode.parent = Hero;
- HeroControl.StopPlayerAllSchedule();
- RivelControl.StopPlayerAllSchedule();
- var data = {FunctionName: 'StopPlayerAllSchedule'};
- this.SynchronizationFun(data);
- Hero.setPositionX(GameStates.StartLinePositionX-30);
- Rivel.setPositionX(GameStates.StartLinePositionX);
- this.schedule(function()
- {
- GameStates.EnterStartLinePlayersArray=[];
- }.bind(this), 5,0);
- if(GameStates.bServer)
- {
- this.schedule(function()
- {
- this.PlayersStartToRun();
- }.bind(this), 2,0);
- }
- var data = {FunctionName: 'UnScheduleFadeIn'};
- this.SynchronizationFun(data);
- }
- },
- PlayersStartToRun: function () {
- var Hero = cc.find('Hero');
- var Rivel = cc.find('Rivel');
- Hero.getComponent('HeroControl').playAudioByName('StartGun');//项目开始时哨声
- var PlayerStateScript = Hero.getComponent("PlayerState");
- PlayerStateScript.TouchControlEnableTouch = false;
- var HeroControl = Hero.getComponent('HeroControl');
- var RivelControl = Rivel.getComponent('HeroControl');
- HeroControl.HeroIsStop = false;
- RivelControl.HeroIsStop = false;
- // console.log(11);
- HeroControl.ResetSpeed_noType();
- RivelControl.ResetSpeed_noType();
-
- var data = {FunctionName: 'PlayersStartToRun'};
- this.SynchronizationFun(data);
- },
- SyncPositionXRange:function(PlayerNode,CurrentPositionX)
- {
- if(Math.abs(CurrentPositionX-PlayerNode.position.x) > cc.find('Canvas').getComponent('GameStates').bSyncPositionXRange)
- {
- if(PlayerNode.name == 'Hero')
- {
- PlayerNode.setPositionX(CurrentPositionX);
- }
- else
- {
- PlayerNode.setPositionX(CurrentPositionX+40);
- }
- }
- },
- addScore : function (CurrentPlayerNode)
- {
- if(this.bHasAddScore == false){
- var PlayerState = CurrentPlayerNode.getComponent("PlayerState");
- var UIControl = cc.find("UIControl").getComponent("UIControl");
- // cc.log("比分",CurrentPlayerNode,PlayerState.TerminalPoint);
- if (CurrentPlayerNode.name=="Hero") {
- UIControl.GameUI.setTopMyScore(PlayerState.TerminalPoint+=1);
- if(cc.find('Canvas').getComponent('GameStates').bServer){
- var data = { FunctionName: 'addScore',PlayerName:'Hero'};
- this.SynchronizationFun(data);
- }
- }else{
- UIControl.GameUI.setTopRivalScore(PlayerState.TerminalPoint+=1);
- }
- this.bHasAddScore = true;
- }
- },
- });
|