| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- var gameConfig = require("../GameConfig.js");
- var playerConfig = require("../PlayerConfig.js");
- cc.Class({
- extends: cc.Component,
- properties: {
- gameMode: {
- default: null,
- type: cc.Node,
- serializable: true,
- },
- charactor: {
- default: null,
- type: cc.Node,
- serializable: true,
- },
- playerStates: {
- default: null,
- type: cc.Node,
- serializable: true,
- },
- },
- onLoad() {
- this.init();
- },
- init() {
- //gameModeScript
- this.gmSt = this.gameMode.getComponent('GameMode');
- //gStatesSt
- this.gStatesSt = this.gmSt.gStatesSt;
- //ctorSt
- this.ctorSt = this.charactor.getComponent('BaseCharactor');
- //pStatesSt
- this.pStatesSt = this.playerStates.getComponent('BasePlayerStates');
- },
- start() { },//override
- resetZindex() {
- this.node.zIndex = this.ctorSt.zOrder;
- },
- run() {
- // this.ctorSt.run('Run1');
- this.pStatesSt.currentState = this.pStatesSt.playerAnimState.run;
- this.ctorSt.setAnim('idle', false);
- // this.pStatesSt.currentState = this.pStatesSt.playerAnimState.idle;
- },
- update(dt) {
- if (this.pStatesSt.currentProState == this.pStatesSt.pProStates.end) return;
- // console.log(this.pStatesSt.currentSpeed);
- if (this.pStatesSt.currentState == this.pStatesSt.playerAnimState.run) {
- //跑
- this.node.x += this.pStatesSt.currentSpeed;
- //如果不加速跑,自动逐渐减速
- // if (this.pStatesSt.currentSpeed > playerConfig.playerSpeedGrade.idle) {
- // if (this.pStatesSt.currentSpeed - playerConfig.speedReducing > playerConfig.playerSpeedGrade.idle) {
- // this.pStatesSt.currentSpeed -= playerConfig.speedReducing;
- // } else {
- // this.pStatesSt.currentSpeed = playerConfig.playerSpeedGrade.idle;
- // }
- // }
- if (this.pStatesSt.currentSpeed <= playerConfig.playerSpeedGrade.idle) {
- this.ctorSt.setAnim('idle',false);
- this.pStatesSt.currentSpeedGrade = playerConfig.playerSpeedGrade.idle;
- } else {
- if (this.pStatesSt.currentSpeed - playerConfig.speedReducing > playerConfig.playerSpeedGrade.idle) {
- if (this.pStatesSt.currentSpeed < playerConfig.playerSpeedGrade.medium) {
- if (this.pStatesSt.currentSpeedGrade != playerConfig.playerSpeedGrade.slow) {
- this.ctorSt.run('Run1',true);
- this.pStatesSt.currentSpeedGrade = playerConfig.playerSpeedGrade.slow;
- }
- }
- else if (this.pStatesSt.currentSpeed > playerConfig.playerSpeedGrade.medium &&
- this.pStatesSt.currentSpeed < playerConfig.playerSpeedGrade.fast) {
- if (this.pStatesSt.currentSpeedGrade != playerConfig.playerSpeedGrade.medium) {
- this.ctorSt.run('Run2',true);
- this.pStatesSt.currentSpeedGrade = playerConfig.playerSpeedGrade.medium;
- }
- }
- this.pStatesSt.currentSpeed -= playerConfig.speedReducing;
- } else {
- this.pStatesSt.currentSpeed = playerConfig.playerSpeedGrade.idle;
- }
- }
- // passed front of Handrail
- if (this.pStatesSt.passedHurdrailNum <= this.pStatesSt.handrailArr.length - 1) {
- if (this.node.x >= this.pStatesSt.handrailArr[this.pStatesSt.passedHurdrailNum].startPX + gameConfig.handrailLength + 20) {
- this.passedHandrail();
- this.pStatesSt.handrailArr[this.pStatesSt.passedHurdrailNum].bFallDown = 1;
- this.pStatesSt.passedHurdrailNum++;
- }
- }
- }
- //Enter end area
- if (this.node.x > this.gmSt.terminal.x - 320 &&
- this.pStatesSt.currentProState < this.pStatesSt.pProStates.intoEnd) {
- this.pStatesSt.currentProState = this.pStatesSt.pProStates.intoEnd;
- this.setEndSpeed();
- }
- //Prepare to endLine
- if (this.pStatesSt.currentProState == this.pStatesSt.pProStates.intoEnd) {
- if (this.pStatesSt.currentSpeed <= 0) return;
- this.pStatesSt.currentSpeed -= this.pStatesSt.intoTheEndSpeed;
- }
- //Enter endline
- if (this.node.x > this.gmSt.terminal.x - this.pStatesSt.endLineStopPoint && this.gmSt.terminal.active) {
- this.enterEndline();
- }
- },
- setEndSpeed() {
- },
- passedHandrail() {
- },
- enterEndline() {
- this.pStatesSt.currentSpeed = 0;
- this.ctorSt.setAnim('idle', false);
- this.pStatesSt.currentState = this.pStatesSt.playerAnimState.default;
- this.pStatesSt.currentProState = this.pStatesSt.pProStates.end;
- this.gStatesSt.arrEndPArr.push(this.pStatesSt);
- },
- speedUp() {
- this.pStatesSt.runTimes++;
- if (this.pStatesSt.currentSpeed <= playerConfig.playerSpeedGrade.fast &&
- this.pStatesSt.currentState == this.pStatesSt.playerAnimState.run) {
- this.pStatesSt.currentSpeed += playerConfig.touchToAddSpeed;
- }
- },
- jump() {
- },
- });
|