| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- const constants = require('Constants');
- var State = cc.Enum({
- Menu: -1,
- Run: -1,
- Over: -1
- });
- var SpawnCollisionState = cc.Enum({
- Normal: 0,
- TopAndDestory: 1,
- });
- var PlayerState = cc.Enum({
- Stop: -1,
- Run: -1,
- over: -1,
- });
- var PlayerRunState =cc.Enum({
- NormalRun: -1,
- HoldJavelinRun:-1,
- RideElephantRun: -1,
- over: -1,
- });
- //加速带区域名字
- var EnterZoneName = cc.Enum({
- null: -1,
- LongAccelerationZone: -1,
- GroundZone: -1,//空白碰撞区域
- });
- var GameManager = cc.Class({
- extends: cc.Component,
- properties: {
- PlayerCollisions: {
- default: [],
- type: [cc.Node],
- // displayName:"Player(collision)",
- // tooltip:"Array for player collision .",
- },
- index: 0,
- PlayerCollisionName: [cc.String],
- GameSpeed: 0,//游戏基础速度
- isEnterGameFinishZone: false,
- //长加速带区域
- playerCurrentZone: {
- default: EnterZoneName.null,
- type: cc.Enum(EnterZoneName)
- },
- //是否一直加速
- isItAlwaysTouch: false,
- //进入长加速度,是否点击过。
- isMustTouch: false,
- //跳远叠加的距离
- longJumpCount: 0,
- //跳远的距离
- // longJumpDistance:0,
- //标枪的叠加距离
- javeCount: 0,
- //标枪的距离
- // javelinDistance:0,
- //当前进入的项目
- currentSpawnSport: -1,
- //最后得分
- GameScore: {
- default: 0,
- displayName: "Score (player)",
- tooltip: "The score of player",
- },
-
- //可以点击
- isCanTouch:true,
- //重新开始游戏时候,给一段时间无敌,不会再次结束游戏
- invincibleTime:2,//s
- isInvincible:false,
- },
- statics: {
- State,
- SpawnCollisionState,
- PlayerState,
- EnterZoneName,
- PlayerRunState
- },
- onLoad() {
- //开启碰撞体
- var CollisioManager = cc.director.getCollisionManager();
- CollisioManager.enabled = true;
- // CollisioManager.enabledDebugDraw = true;
- // 启用物理引擎相关功能
- // cc.director.getPhysicsManager().enabled = true;
- // cc.director.getPhysicsManager().gravity = cc.v2(0, -160);
- GlobalData.GameManager = GameManager;
- GlobalData.game = this;
- //-- 游戏状态
- this.state = State.Run;
- //-- 人物的状态
- //开始时停止的
- this.PlayerState = PlayerState.Run;
- //人物跑步状态
- this.PlayerRunState = PlayerRunState.NormalRun;
- //设置游戏前进的速度
- this.GameSpeed = constants.configGameSpeedMin;
- //获取heroControl
- this.HeroControlScript = cc.find('Canvas/HeroControl').getComponent('HeroControl');
- //获取UiState.js
- this.GameUIState = this.node.getComponent('GameUIState');
-
- },
- //添加碰撞数组
- addPlayerCollisionName(other) {
- this.PlayerCollisionName.push(other.node.name);
- console.log('addPlayerCollisionName:', this.PlayerCollisionName)
- },
- //清空碰撞数组
- clearPlayerCollisionName() {
- this.PlayerCollisionName = [];
- // this.GameStates.PlayerCollisionName.pop(other.node.name);
- console.log('clearPlayerCollisionName:', this.PlayerCollisionName)
- },
- //获取HeroControl
- getHeroControl() {
- if (this.HeroControlScript) {
- return this.HeroControlScript;
- } else {
- console.warn('获取HeroControl为空!');
- return null;
- }
- },
- //获取GameUIState
- getGameUIState() {
- if (this.GameUIState) {
- return this.GameUIState;
- } else {
- console.warn('获取GameUIState为空!');
- return null;
- }
- }
- });
|