CocosCreator 多个对象权重计算

时间:2020-08-11 14:20:29   收藏:0   阅读:96
//权重对象列表
var weightObjects=[
	{weight:100},
	{weight:80},
	{weight:500}
];

//总权重
var sumWeight=0;
for(var i=0;i<weightObjects.length;i++){
	sumWeight+=weightObjects[i].weight;
}

//随机数 [0, sumWeight)
var n=(Math.random()*sumWeight)|0;
//在总权重构成的线段上的各个起始点
var m=0;
for(var i=0;i<weightObjects.length;i++){
	var weightObj=weightObjects[i];
	//如果在权重范围内
	if(n>=m && n<m+weightObj.weight){
		//console.log("选择了这个对象:"+i);
		break;
	}
	m+=weightObj.weight;
}

原文:https://www.cnblogs.com/kingBook/p/13474809.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!