Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88737

properties里建立的数组是不是不能保存数据?

$
0
0

@aking5287 写道:

写了一段测试代码如下。
//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,无限奔溃中。

帖子: 2

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88737

Trending Articles