文件夹规范

Constants.ts 用于控制全局
GameScene:游戏入口文件
gameManager是控制全局的变量,讲入口文件赋值给它,这样其他组件引用Hello的时候,可以使用GameScene里的属性.
GameState是一个enum类型,其中每个值都是上一个值+1,用于控制游戏状态.
gameState表示当前游戏的状态.

import GameScene from "../../scripts/GameScene";export enum GameState {READY = 1,PLAYING,PAUSE,OVER,
}class Constants {private static _instance: Constants = null;constructor() {return Constants._instance;}public static get Instance(): Constants {return this._instance || new Constants()}public gameManager: GameScene = null;public gameState: GameState = GameState.READY;
}
let hello = Constants.Instance
export { hello as Constants }

在Player.ts里使用入口文件的函数:

const {ccclass, property} = cc._decorator;
import { Hello } from "./hello";@ccclass
export default class Player extends cc.Component {onLoad(){Hello.gameManager.setNewCoin()}
}

GameScene.ts

// Learn TypeScript:
//  - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.htmlimport { Hello } from "./hello";
import YellowBall from "./yellowball";const { ccclass, property } = cc._decorator;@ccclass
export default class GameScene extends cc.Component {@property(cc.Prefab)coinPrefab: cc.Prefab = null;@property(YellowBall)player: YellowBall = null;public starNode: cc.Node = null;setNewCoin() {let newCoin = cc.instantiate(this.coinPrefab);this.node.addChild(newCoin);newCoin.setPosition(this.getNewCoinPosition())newCoin.getComponent('YellowBall').GameScene = this;this.starNode = newCoin;}getNewCoinPosition() {let rand = Math.random() - 0.5;let randY;rand ? randY = -215 : randY = 215;return cc.v2(400, randY)}onLoad() {Hello.gameManager = this;this.setNewCoin();}}

Cocos 全局变量的使用相关推荐

  1. cocos creator全局变量与常住节点

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  2. Cocos Creator实现的《点我+1》

    一.前言 在学习Cocos中,需要一些东西来练手,于是前段时间就开发仿照一款公司之前的产品<点我+1>来做,仿照过程中,所有的算法逻辑都是自己研究的,并没有参考公司代码,也没有使用公司的美 ...

  3. 【COCOS CREATOR 系列教程之二】脚本开发篇事件监听、常用函数等示例整合

    本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos-creator/1959.htm ...

  4. cocos creator粒子不变色_隐秘的物理粒子系统与渲染 !Cocos Creator LiquidFun !

    让 cocos Q弹起来!物理流体之 LiquidFun 流体纹理 shader ! 效果预览 让 Cocos Q弹起来吧! 原理 物理粒子系统 引擎内置的 box2d.js 其实已经携带了 goog ...

  5. Cocos Creator 3D麻将 v2.1.1

    原文地址:https://qilinzi.blog.csdn.net/article/details/89818238 源码和资源地址:https://gitee.com/qilinzi/qlz_cc ...

  6. cocos creator周边工具开发【spine预览】小记

    cocos creator周边工具开发[spine预览]小记 前言 在工作加班之余用ccc开发了一个丑陋的spine动效预览工具,目前只支持window上运行: 在n个版本的更新和需求下暂时算开发完成 ...

  7. 用 shader effect 实现雨滴落水效果!Cocos Creator 3D !

    最近逛论坛时,看到一位大佬在分享各种 shader 特效.基于其中的水波 shader ,白玉无冰写了一个玩水效果!文章底部获取完整代码!还可以试试水哦! 先一起看看效果- 点击任意位置,会在该位置生 ...

  8. Cocos Creator游戏开发教程 学习笔记

    学完提问几个问题吧: position的锚点位置数值原点在哪里? 因为position是相对坐标,所以原点是父节点的锚点 .所以Canvas下面的直属节点原点就是世界坐标系的原点Canvas的锚点. ...

  9. cocos creator开发微信小游戏(五)贪吃蛇大作战

    目录 小游戏介绍 小游戏cocos creator场景图 小游戏部分JS代码 开发中碰到的问题 工程及说明 小游戏介绍 贪吃蛇小游戏:贪吃蛇试玩(首次加载比较慢),类似贪吃蛇大作战的小游戏.当玩家的蛇 ...

最新文章

  1. Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
  2. 使用 gperf 实现高效的 C/C++ 命令行处理
  3. 芝麻信用很高,为什么贷款还是被拒了?
  4. CentOS学习笔记--程序管理
  5. 《ASP.NET Core 3 框架揭秘(上下册)》送书结果公告
  6. 基因表达聚类分析之初探SOM - 自组织特征图
  7. wifi情况下使用fiddler_fiddler常见的应用场景
  8. 火星人敏捷开发手册2012-04-30新增敏捷日常跟进内容
  9. Google 安装印象笔记剪藏插件
  10. Qualcomm MPM introduction
  11. LMS自适应波束形成算法(MATLAB)
  12. 动态DNS的定义以及优缺点有哪些
  13. 如何使用百度地图API
  14. 基础通用版IPv6转换服务使用说明及设置示例
  15. Matlab Plot添加图名、图例、坐标轴名、坐标网格;画虚线、点划线、两条线;更改字体、字号、轴正方
  16. hpc与超级计算机的区别,超级计算和高性能计算(HPC)的综合分析
  17. 学完3D游戏建模,为什么我找到的工作薪资这么低?
  18. 北京燕化附中2021年高考成绩查询,2021年北京最好的高中排名,北京重点高中排名榜公布...
  19. 烤仔说 | 在 Sorare 等你“一球成名”(内含教程)
  20. 游戏特效设计用什么制作的?

热门文章

  1. LeetCode简单题之二叉搜索树的最小绝对差/最小距离
  2. TVM性能评估分析(五)
  3. 外部NORFlash是第一个以硬件为基础的信任
  4. 5G和AI机器人平台为工业4.0和无人机提供服务
  5. CUDA C++编程接口:编译
  6. 目标形体形状轮廓重建:ICCV2019论文解析
  7. [JS] 关于parseInt的一个小知识:[‘1‘, ‘2‘, ‘3‘].map(parseInt)
  8. ClassCastException
  9. ScrollView can host only one direct child 问题处理
  10. Leetcode812.Largest Triangle Area最大三角形面积