跑酷游戏的障碍物金币生成

该文章介绍了一种在Unity3D中利用对象数组来动态生成游戏中的障碍物和金币的方法。首先设置好障碍物和金币的位置,然后声明对象数组,通过遍历空物体并应用随机数生成不同类型的障碍物,利用Instantiate函数实例化预制体,并将其设为父物体的子物体,以实现动态跟随地图移动的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前两天,老师叫我们做了一个酷跑小游戏,这篇的主要内容运用对象数组循环生成障碍物和金币

首先你需要在地图上设计好需要生成的障碍物和金币的位置并做成空物体,金币和障碍物分别设置统一标签;

在代码段中,首先你需要在代码段中声明2个对象数组(我写的比较简单,如果需要布局严谨,可以每种障碍物写一个对象数组,用不同标签的空物体接收)

这里声明了金币和障碍物的对象数组和四种障碍物的预制体。

在资源管理器类中设置好对应的标签,方便后期进行管理 

这里是获取到生成金币和障碍物的空物体位置和金币障碍物的预制体标签 

这里遍历每个空物体,随机生成障碍物 ,金币空物体是都生成金币

IEnumerator CloneCoin()
	{
		yield return new WaitForSeconds(1f);
		for(int i = 0; i < Coin.Length-1; i++)
		{ 
		    GameObject go=Instantiate(cion, Coin[i].transform.position, Quaternion.identity);
            go.transform.SetParent(Coin[i].transform);//把生成的物体变成生成位置物体的子物体	
        }
		for(int j= 0; j < Item.Length-1; j++)
		{
			int a=Random.Range(1,5);
			if (a == 1)
			{
				GameObject go= Instantiate(lz, Item[j].transform.position, Quaternion.identity);
				go.transform.SetParent(Item[j].transform);//把生成的物体变成生成位置物体的子物体				
            }
            if (a == 2)
            {
                GameObject go = Instantiate(dingz, Item[j].transform.position, Quaternion.identity);
                go.transform.SetParent(Item[j].transform);//把生成的物体变成生成位置物体的子物体              
            }
            if (a == 3)
            {
                GameObject go = Instantiate(car, Item[j].transform.position, Quaternion.identity);
                go.transform.SetParent(Item[j].transform);//把生成的物体变成生成位置物体的子物体              
            }
          
            if (a == 4)
            {
                GameObject go = Instantiate(zl, Item[j].transform.position, Quaternion.identity);
                go.transform.SetParent(Item[j].transform);//把生成的物体变成生成位置物体的子物体
            }
        }
	}

这里我给了一个随机数,生成不同的数,对应的空物体生成不同的障碍物,并让生成的障碍物成为空物体的子物体,空物体设置为地图的子物体,这样就可以实现障碍物跟随地图移动。

我对对象数组用到不够熟练,欢迎大家批评指正!!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值