cc.Class({ extends: cc.Component, properties: { numberOfCollisions: 0, }, start() { //只要是空白区域,直接结束游戏 // console.log('GlobalData.game.playerCurrentZone', GlobalData.game.playerCurrentZone) if (GlobalData.game.playerCurrentZone == GlobalData.GameManager.EnterZoneName.null) { //游戏结束 GlobalData.gameMode.GameOver(); } }, onCollisionEnter: function (other) { // console.log(other.node.name) //只有第一个碰撞有效 if (this.numberOfCollisions >= 1) return; // console.log(other.node.name) this.numberOfCollisions++; GlobalData.game.isMustTouch = true; // return; if (other.node.name === 'AccelerationBandNormal')//AccelerationBand { GlobalData.gameMode.AddGameSpeed(100); GlobalData.game.getHeroControl().resetPerfectGrade();//非完美点击,则重置perfectGrade GlobalData.game.getHeroControl().playAudioByName("ClickNormal"); if (GlobalData.game.currentSpawnSport == 3) {//标枪项目 GlobalData.game.javeCount += 7; } else if (GlobalData.game.currentSpawnSport == 1) {//跳远 GlobalData.game.longJumpCount += 0.7; } GlobalData.game.getHeroControl().PlayerAnimControl.SpeedChange(); //加分 GlobalData.game.GameScore += 100; } else if (other.node.name === 'AccelerationBandPerfect') { GlobalData.gameMode.AddGameSpeed(300); // this.PlayerControlPro.SpeedUp(PlayerStateStatic.ColliderSpeedUpPoint.AccelerationBandCenter); //perfect完美提示 GlobalData.game.getGameUIState().OnPayPerfectAnimation(); GlobalData.game.getHeroControl().addPerfectGradeAndPlay(); if (GlobalData.game.currentSpawnSport == 3) {//标枪项目 GlobalData.game.javeCount += 10.5; } else if (GlobalData.game.currentSpawnSport == 1) {//跳远 GlobalData.game.longJumpCount += 0.9; } GlobalData.game.getHeroControl().PlayerAnimControl.SpeedChange(); //提示白色速度带 other.node.parent.getChildByName('WhiteAccelerationBandCenter').active = true; //加分 GlobalData.game.GameScore += 300; } else if (other.node.name === 'EndNormalLongJumpBand') {//最后一个跳远点,蓝色区域 GlobalData.game.longJumpCount += 0.7; GlobalData.game.getHeroControl().takeOffDistance = this.node.convertToWorldSpaceAR(cc.Vec2.ZERO).x + 100 - GlobalData.game.getHeroControl().node.convertToWorldSpaceAR(cc.Vec2.ZERO).x; GlobalData.game.getHeroControl().HeroLongJump(); } else if (other.node.name === 'EndPerfectfLongJumpBand') {//最后一个跳远点,黄色区域 GlobalData.game.getHeroControl().HeroLongJump(); GlobalData.game.longJumpCount += 0.9; //提示白色速度带 other.node.parent.getChildByName('WhiteAccelerationBandCenter').active = true; } else if (other.node.name === 'NormalHurdleBand') { //跨栏 加速带 todo GlobalData.game.getHeroControl().PlayerAnimControl.JumpToHurdle(); var animCtrl = other.node.parent.getChildByName('Railing').getComponent(cc.Animation); this.scheduleOnce(function() { animCtrl.play("RailingShake"); }, 0.25); //加分 GlobalData.game.GameScore += 100; } else if (other.node.name === 'PerfectHurdleBand') { //跨栏 加速带 todo GlobalData.game.getHeroControl().PlayerAnimControl.JumpToHurdle(); //提示白色速度带 other.node.parent.getChildByName('WhiteAccelerationBandCenter').active = true; //加分 GlobalData.game.GameScore += 300; } else if (other.node.name === 'GroundCollision') { GlobalData.game.isMustTouch = false; //游戏结束 GlobalData.gameMode.GameOver(); } }, });