《Unity3d-在地图中随机生成一个物体的代码》

//思路:使用.Instantiate方法控制生成 但是在生成前一定要计算好生成的鱼儿的条件控制

public class FishController : MonoBehaviour
{

public int maxCount = 10; //鱼池中鱼最大存在的个数
public int count = 0; //当前鱼池中鱼的个数
public GameObject[] fishArray; //设置与鱼的数组随机生成鱼
public float timer = 0; //生成鱼的时间间隔
private float timerInvertal = 1f;//时间闸


// Use this for initialization
void Start()
{

}

// Update is called once per frame
void Update()
{
CreatFish();
}

void CreatFish() //生成鱼的方法
{
if (count >= maxCount) //如果当前鱼池中的鱼的数量大于10条结束程序
{
return;
}
timer += Time.deltaTime; //让生成鱼的时间间隔增加
if (timer >= timerInvertal) //如果生时间大于时间闸的时候生成一条鱼
{
timer -= timerInvertal; //恢复时间间隔
count++; //鱼的数量增加
//开始实例化鱼
//首先实例化鱼的prefabs
GameObject fishPrefabs = fishArray[Random.Range(0,fishArray.Length)];
//实例化鱼的位置
Vector3 fishLoadPos = new Vector3(Random.value, Random.value, -Camera.main.transform.position.z); //随机实例化鱼儿本身的坐标
Vector3 fishWorldPos = Camera.main.ViewportToWorldPoint(fishLoadPos); //实例化鱼的世界坐标
//实例化鱼儿
GameObject.Instantiate(fishPrefabs, fishWorldPos, fishPrefabs.transform.rotation); //实例化鱼的本体 位置 旋转
}
}
}

转载于:https://www.cnblogs.com/ylllove/p/7329303.html

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值