-
Creator 版本:
2.1.2 -
目标平台:
模拟器 -
重现方式:
尝试模仿cocos creator2.1新手指南里的小游戏到这个地方结果出错了,
https://docs.cocos.com/creator/2.1/manual/zh/getting-started/quick-start.html在new上暂存Game对象的引用** newStar.getComponent(‘Star’).game=this;**
将这行代码注释掉就不会报错,但功能无法实现
找到两种大致方法:一种说是this,在函数外声明self=this,用self代替this,但未生效
另一种利用用记事本打开报错场景搜索 “_components”: [ null ], 如有删除此项,保存再打开场景‘方法也未得到解决
你先确认下,newStar是什么对象,是否存在Star 脚本,名字大小写有没有错。
newStar是prefab出的新增星星对象,存在Star脚本
spawnNewStar:function()
{
//使用给定的模板在场景中生成一个新节点,
//instantiate 方法的作用是:克隆指定的任意类型的对象,或者从 Prefab 实例化出新节点,返回值为 Node 或者 Object
var newStar=cc.instantiate(this.starPrefab);
//将新增节点添加到Canvas节点下面
this.node.addChild(newStar);
//为星星设置一个随机位置
newStar.setPosition(this.getNewStarPosition());
//在星星上暂存Game对象的引用
newStar.getComponent(‘Star’).game=this;
},
Star不要用引号引起来试试
