目前我有两个球围绕一个圆圈随机产生,它们之间的最小距离为0.3,因此它们不会发生碰撞。但是,我希望玩家设置产生的球的数量,我需要这些球随机产生,但彼此之间的距离最小。
使用我的代码,任何大于2的球数量都可能有两个球在彼此之上产生,因为我只用spawnConstant
引用最后产生的球的位置。
当我试图用数组解决它时,我遇到了同样的问题,位置只引用数组中的一个位置。附件是当前的代码:
IEnumerator SpawnBalls () {
Vector3 spawnConstant = new Vector3 ();
Vector3 spawnPosition = new Vector3 ();
for (int i = 0; i < ballNumber; i++) {
if (i == 0) {
spawnPosition = Random.insideUnitCircle.normalized * 0.7f;
Instantiate (ball, spawnPosition, Quaternion.identity);
Debug.Log ("wolo");
spawnConstant = spawnPosition;
} else if (i > 0) {
spawnPosition = Random.insideUnitCircle.normalized * 0.7f;
while (Vector3.Distance (spawnPosition, spawnConstant) <= 0.3f) {
spawnPosition = Random.insideUnitCircle.normalized * 0.7f;
}
spawnConstant = spawnPosition;
Instantiate (ball, spawnPosition, Quaternion.identity);
Debug.Log ("yolo");
}
}
yield return null;
}
如何让每个球都参考以前所有球的位置,并与它们产生最小距离?
答案 0 :(得分:1)
$ip = $_SERVER['REMOTE_ADDR']; // ip = 8.8.8.8
$country = file_get_contents('http://ipinfo.io/8.8.8.8/country'); // for more info visit [enter link description here][1]
echo $country; // output = US | UK | IN as per ip (just one country code)