小白求助,我有多个预制体的时候,怎么随机生成某个预制物体
如果是放在resource里的,建个文件夹,预制体全部命名成prefab1,prefab2这样,那你随机一个数然后拼接一下去加载预制体不就号了
ts:
// Learn TypeScript:
// - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
const { ccclass, property } = cc._decorator;
@ccclass
export default class RandomInstance extends cc.Component {
@property(cc.Prefab)
allPre = [];
@property(cc.Node)
allPreFa;
Probability = 0.5;
onLoad() {
}
start() {
this.onRandomInstanPre()
}
onRandomInstanPre() {
let self = this;
let allGl = this.allPre.length;//总共有多少个
if (allGl < 1) return;
//赋值每个概率范围
let current = [,];
let currentNum = 0;
for (let i = 0; i < allGl; i++) {
current[i] = [currentNum, (currentNum += (100 / allGl))];
}
cc.log(current, '-所有概率');
for (let i = 0; i < 10; i++) {
let num = Math.random() * (101 - 1)// + 1
cc.log('随机数:',num)
for (let j = 0; j < current.length; j++) {
if(num >= current[j][0] && num <current[j][1]){
//在这个范围内
//cc.log(current[j],'用的第几组数据');
let tNode:cc.Node = cc.instantiate(self.allPre[j])
tNode.parent = self.allPreFa;
continue;
}
}
}
}
// update (dt) {}
}
代码不是很会写,请问有例子吗?
你好,有js版的吗?