var gameConfig = require("./GameConfig.js"); var webView = require("../WebView"); var lib = require("../Library"); cc.Class({ extends: cc.Component, properties: { gameStates: { default: null, type: cc.Node, serializable: true, }, ui: { default: null, type: cc.Node, serializable: true, }, player1: { default: null, type: cc.Node, serializable: true, }, player2: { default: null, type: cc.Node, serializable: true, }, canvas: { default: null, type: cc.Node, serializable: true, }, readyGoAnim: { default: null, type: cc.Node, serializable: true, }, handrailPrefab: { default: null, type: cc.Prefab, }, starting: { default: null, type: cc.Node, serializable: true, }, terminal: { default: null, type: cc.Node, serializable: true, }, bgm: { default: null, type: cc.AudioSource, serializable: true, }, Player1Arrow: { default: null, type: cc.Node, serializable: true, }, startAudio: { default: null, type: cc.AudioClip, }, }, // LIFE-CYCLE CALLBACKS: onLoad() { this.init(); this.initUI(); //添加动画事件监听 this.armatureDisplay.addEventListener(dragonBones.EventObject.COMPLETE, this.animationEventHandler, this); }, init() { //playerControllerScript this.pConSt1 = this.player1.getComponent('BasePlayerController'); this.pConSt2 = this.player2.getComponent('BasePlayerController'); // because player controller onload event after game mode so use getChildByName to get PlayerStates this.pStatesSt1 = this.pConSt1.node.getChildByName('PlayerStates').getComponent('BasePlayerStates'); this.pStatesSt2 = this.pConSt2.node.getChildByName('PlayerStates').getComponent('BasePlayerStates'); //gameStatesScript this.gStatesSt = this.gameStates.getComponent('GameStates'); this.armatureDisplay = this.readyGoAnim.getComponent(dragonBones.ArmatureDisplay); this.armature = this.armatureDisplay.armature(); }, initUI() { this.ui.zIndex = 10003; // init player information let playerUI1 = this.ui.getChildByName('Player1'); let pUIName1 = playerUI1.getChildByName('NameBG').getChildByName('Name'); let pUIAvatar1 = playerUI1.getChildByName('Mask').getChildByName('Avatar'); let pUIGender1 = playerUI1.getChildByName('Gender'); let playerUI2 = this.ui.getChildByName('Player2'); let pUIName2 = playerUI2.getChildByName('NameBG').getChildByName('Name'); let pUIAvatar2 = playerUI2.getChildByName('Mask').getChildByName('Avatar'); let pUIGender2 = playerUI2.getChildByName('Gender'); let setGender = function (genderNode, bMale) { if (bMale) { genderNode.getChildByName('Female').active = false; genderNode.getChildByName('Male').active = true; } else { genderNode.getChildByName('Female').active = true; genderNode.getChildByName('Male').active = false; } }; pUIName1.getComponent(cc.Label).string = webView.userName; pUIName2.getComponent(cc.Label).string = webView.rivalUserName; lib.setImageBase64(webView.avatarBase64, function (texture2D) { pUIAvatar1.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture2D); }); lib.setImageBase64(webView.rivalavatarBase64, function (texture2D) { pUIAvatar2.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(texture2D); }); setGender(pUIGender1, webView.gender); setGender(pUIGender2, webView.rivalGender); }, start() { //because player state have not be created so this code write start function //currentStartPositionX from start line(720,0) not (0,0) let cStartPX = 720; let hPSetArr = gameConfig.handrailPosSetArr; for(let i = 0;i