//加载时:初始化对象池,根据enemyG的成员数量,生成对应的对象池
onLoad:function(){
this.CreatePool(); },
CreatePool:function(){
for(var i=0;i<this.enemyG.length;i++){
var enemyN=this.enemyG[i];
this.PutPool(enemyN);//循环执行填充对象池
}
},
PutPool:function(enemyN){ //在创建对象池,并在对象池内填充指定数量成员
var name=enemyN.name;
this[name]=new cc.NodePool();//
let initpoolcount=enemyN.poolcount;
for(var ii=0;ii<initpoolcount;ii++){
let Poolnode=cc.instantiate(enemyN.prefab);
this[name].put(Poolnode);
console.log(‘填充对象’);
}
},
gameStart:function(){
for(var ei=0;ei<this.enemyG.length;ei++){
var freqTime=this.enemyG[ei].freqTime;
var enemyN=this.enemyG[ei];
this.schedule(this.getNewEnemy(enemyN)
.bind(this),freqTime);
}
console.log(‘游戏开始’);
},
//从对象池中取出对象,随机生成坐标,并插入场景;
getNewEnemy:function(enemyGinfo){
//从对象池中取对象
var name=enemyGinfo.name;
var newNode=this.getNode(enemyGinfo);//生成节点
//随机X,y坐标,设定对象的坐标
var randx=(Math.random()*-0.5)2(this.node.width/2-newNode.width/2);
var randy=this.node.height/2+newNode.height/2;
newNode.setposition(randx,randy);
},
//生成节点
getNode:function(enemyGinfo){
let newNode=null;
if(this[name].size()>0){
newNode=this[name].get();
}else{
newNode=cc.instantiate(prefab);
}
nodeParent.addChild(newNode);
return newNode;
},
报错提示:Cannot read property ‘size’ of undefined
问题描述:场景加载后对象池成功创建了,游戏开始时,生成节点报错了;提示size未定义,各位大佬帮我看看


