写了一段测试代码如下。
//plays.js测试代码
var ziYuan = require("ziYuan");
cc.Class({
extends: cc.Component,
properties: {
//boss资源
boss:[],
//role资源
role:null,
//boss数量
shuLiang:30,
},
// use this for initialization
onLoad: function () {
log(1);
cc.game.addPersistRootNode(this.node);
log(1.1);
//初始化角色
this.role = ziYuan.role;
this.role.zuoBiao = cc.v2(0,-2400);
log(1.2);
//初始化怪物
for (var xx = 0; xx < 30; xx += 1){
log(2);
this.boss[xx] = ziYuan.guai;
log(2.1);
var tt = this.boss[xx];
log(2.2);
tt.zuoBiao = this.getNewGuaiPosition();
log(2.3 + ' ' + tt.zuoBiao);
tt.juLi = Math.ceil(cc.pDistance(tt.zuoBiao, this.role.zuoBiao));
log(2.4 + ' ' + tt.juLi);
this.boss[xx] = tt.zuoBiao;
log(2.5);
}
//this.boss[i].juLi = cc.pDistance(this.boss[i].zuoBiao, this.role.zuobiao);
//测试初始化
for (var a = 0; a < 30; a ++){
log(1.3);
log(this.boss[a].juLi);
}
log(1.4);
},
getNewGuaiPosition: function () {
//怪坐标随机
var randX = cc.random0To1() * 1400 - 700;
var randY = cc.random0To1() * 4800 - 2400;
return cc.v2(Math.ceil(randX), Math.ceil(randY));
},
// called every frame, uncomment this function to activate update callback
update: function (dt) {
},
});
//ziYuan.js
module.exports = {
//怪物部分数据(坐标,距离)
guai:{
zuoBiao:null,
juLi:0,
},
//角色部分数据(坐标,锁定判定,锁定怪物索引号)
role:{
zuoBiao:null,
suoDing:false,
suoYing:0,
}
};
我写了这样一段代码
我发现properties里的boss[] 在“初始化怪物”的时候建立数组
但是在“测试初始化”的时候无法调出
并且,在使用this.shuLiang作为for循环的条件时无法执行
这是一个常驻节点
求大神帮忙解惑~
这个问题已经困扰我好久了,项目中全是这个BUG,无限奔溃中。