如果两个类相互引用,脚本加载阶段就会出现循环引用,循环引用将导致脚本加载出错:

///Game.js

var Item = require("Item");

var Game = cc.Class({

properties: {

item: {

default: null,

type: Item //用 Item 对象

}

}

});

module.exports = Game;

//Item.js

var Game = require("Game");

var Item = cc.Class({

properties: {

game: {

default: null,

type: Game //用 Game 对象

}

}

});

module.exports = Item;

上面两个脚本加载时,由于它们在 require 的过程中形成了闭环,因此加载会出现循环引用的错误,循环引用时 type 就会变为 undefined。

因此我们提倡使用以下的属性定义方式:

/Game.js

var Game = cc.Class({

properties: () => ({ //箭头函数在脚本加载中不会同步执行,而是在所有脚本加载成功后才调用。

item: {

default: null,

type: require("Item")

}

})

});

module.exports = Game;

Item.js

var Item = cc.Class({

properties: () => ({

game: {

default: null,

type: require("Game")

}

})

});

module.exports = Item;

cocos 时间函数需要什么引用_Cocos Creator两个类相互引用(调用)相关推荐

  1. Cocos Creator两个类相互引用(调用)

    如果两个类相互引用,脚本加载阶段就会出现循环引用,循环引用将导致脚本加载出错: ///Game.js var Item = require("Item"); var Game = ...

  2. 两个类相互包含引用的问题--类前向声明

    在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型 class A {     int i;     B b; } clas ...

  3. C++两个类互相引用的做法

    1.简单采取前向引用 我们知道C++的类应当是先定义,然后使用.但在处理相对复杂的问题.考虑类的组合时,很可能遇到俩个类相互引用的情况,这种情况称为循环依赖. 例如: class A {public: ...

  4. idea中同一个包中的类相互引用失败

    idea类相互引用失败 问题描述: 在开发过程中,从git上拉取项目,发现同一包下的两个类在相互引用时出错,无法找到对应类,无法运行.困扰好久,记录一下解决办法 原因分析: 由于是同一包下的两个pub ...

  5. cocos 时间函数需要什么引用_Cocos实战篇[3.4]——仿COC的一个小Demo总结

    [唠叨] 今天结束了本学期任务最为艰巨的项目实训课程,由于项目组里其他成员基本都已经找到实习了,然后他们都去实习了.只留下我和一个小伙伴在一起搞项目实训的小游戏.经过一个月与小伙伴的配合开发,做了一个 ...

  6. c++中两个类互相引用的问题

    最近在改一个C++程序的时候碰到一条警告信息,警告信息为:" 删除指向不完整"Q2DTorusNode"类型的指针:没有调用析构函数                 1& ...

  7. cocos 时间函数需要什么引用_2021国家公务员考试时间是什么时候 国考备考时间需要多久...

    今日小编推荐 行测知识点那么多,有重点,不乱了! 申论考查面那么广,有范围,不愁了! 4月6日19点,中公院长帮你划重点&标范围 免费听课:http://19.offcn.com/class- ...

  8. cocos 时间函数需要什么引用_酱香型白酒,为什么需要长时间储存?

    优质酱香型白酒,需要长时间储存的主要原因有以下四个: 原因一:去除有害物质 优质酱香酒的制曲,堆积,发酵工艺都是在高温条件下进行(俗称三高工艺),产生的高沸点的生香型酸类物质较多,且不易挥发.但不可避 ...

  9. cocos 时间函数需要什么引用_与时间赛跑:微盟的数据恢复为什么需要这么长时间...

    作者| 茹炳晟 责编 | Carol 出品| CSDN云计算(ID:CSDNcloud) 微盟"删库跑路"事件已经过去好几天了,据悉,微盟的服务已经全部恢复,对于新用户,已经能够正 ...

最新文章

  1. c语言万年历设计目的,万年历设计报告
  2. [Flags]标识的Enum不能使用Html.GetEnumSelectList方法
  3. 剑指offer之Runnable和Callable的区别
  4. 玩转 SpringBoot 2.x 之使用 SpringDataJpa 篇
  5. 刚大学毕业,学习的C++,到底能做什么?
  6. DisplayX显示器测试、显示器屏幕检测
  7. 数字系统——实验一:常用元器件的识别与简单测试
  8. Python实现坦克大战——源代码
  9. 基于.net开发chrome核心浏览器【三】
  10. IT男改变生活之12306选择上,中,下铺
  11. html自我介绍怎么弄,用html设计一个自我介绍的静态网页
  12. WebForm CSS垂直虚线时间轴特效
  13. postgresql12的同步流复制搭建及主库hang问题处理和分析
  14. android 改变输入法enter键文字 为搜索 下一个 以及前往
  15. 跟开涛学shiro练习代码
  16. xp外观主题下载_增强Windows XP外观的简便方法
  17. 企业微信有权限查看通讯录吗?
  18. OpenCV中HSV与PS中HSB对应关系
  19. UEFI模式创建Grub2引导ubuntu16.04和windows10,并安装Linux Nvidia驱动
  20. 2021年涡阳四中高考成绩查询,振奋人心,全是省重点!高考成绩出来了,涡阳家长快来看看!...

热门文章

  1. UVA10505 Montesco vs Capuleto【DFS】
  2. 区间树(segment tree)
  3. 1 + 2 + 3 + 4 + ⋯
  4. 三大无线技术 —— WiFi、蓝牙、HomeRF(无线网卡、WPAN)
  5. Linux 下常用 ftp 命令
  6. 趣学 C 语言(七)—— 文件读写操作
  7. 机器学习基础(三十五)—— 协同过滤(从匹配用户到匹配商品)
  8. utilities——C++常用仿函数
  9. 语句乎?表达式乎?(Python/C)
  10. Java占Linux超过xms,linux下分析java程序占用CPU、内存过高