Unity2D无限地图的实现(简单好抄)
创作时间:
作者:
@小白创作中心
Unity2D无限地图的实现(简单好抄)
引用
CSDN
1.
https://blog.csdn.net/2301_76156790/article/details/144867312
本文将详细介绍如何在Unity2D游戏中实现无限地图的功能。通过创建一个10*10的2D游戏对象作为基础地图,并结合碰撞体和触发器的使用,实现玩家在上下左右移动时自动进行地图拼接的效果。
实现思路
- 第一步: 创建一个10*10的2D游戏对象当做地图
- 第二步创建一个空对象并在里面创建8个小的2D对象并调整位置
位置要和之前创建的地图的边张一致(不然不能做到无缝拼接)
- 第三步给地图添加碰撞体,给点位添加碰撞体,刚体,并设置为触发器
- 第4步创建一个玩家并给地图添加Map标签
同样给玩家添加刚体和碰撞体组件,同样重力质量设为0,设置为触发器
给地图添加标签
- 第五步编写玩家脚本 并加到玩家身上
using UnityEngine;
public class PlayercontMap : MonoBehaviour
{
public GameObject CreatPointcont;
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "Map")
{
CreatPointcont.transform.position = other.transform.position;
//遍历CreatPointcont所有子对象并显示
for (int i = 0; i < CreatPointcont.transform.childCount; i++)
{
CreatPointcont.transform.GetChild(i).gameObject.SetActive(true);
}
}
}
}
将脚本附加到玩家身上并且将刚刚创建的管理点位的空对象拖到对应位置
- 第六步编写地图生成的脚本Creatpoint
先将地图拖到文件夹中做成预制体
using UnityEngine;
public class Creatpoint : MonoBehaviour
{
public GameObject Map;
private bool isCreate = true;
private void OnEnable()
{
isCreate = true;//初始创建地图为true
Invoke("Creat", 0.1f);
}
//执行创建地图
void Creat()
{
if (isCreate)
{
GameObject mapobj = Instantiate(Map, transform.position, Quaternion.identity);
gameObject.SetActive(false);
}
else
{
gameObject.SetActive(false);
}
}
//判断当前位置是否存在地图
private void OnTriggerStay2D(Collider2D collision)
{
if (collision.gameObject.tag == "Map")
{
isCreate = false;
}
}
}
将脚本附加到所有的点位上并将地图预制体拖到这里
- 最后一步将点位设置为非激活状态
运行游戏拖动Player就会发现地图自动创建成功了,为了避免地图过多你需要自己管理地图的数量,比如玩家离开过远后删除一些地图。
如果你有更好的生成无限地图的方式欢迎评论区讨论哦。
热门推荐
什么是医院值班排班流程规范化的关键要素?
排班制度是什么意思?如何制定高效排班制度?
12月A股“开门红” 大消费股走强
低密度脂蛋白3.8严重吗?低密度脂蛋白3.8需要吃药吗?
软件测试绩效指标包括哪些内容?
如何撰写一份完美的软件测试报告总结?
医学是盾牌,而爱是暖阳
电脑组装必修课:如何正确组建机箱风道
无罪警告小说免费阅读的法律边界与风险分析
Pandas | statas | 统计学中Levene检验和双样本t检验的使用
房贷利率创历史新低,普通人提前还贷不划算了?
如何测量远视储备
肝癌介入术后饮食指南:五项关键注意事项
真皮上的胶怎样有效除去?这种有效除去的办法有哪些?
打麻将的坏处有哪些
神奇!挠痒痒竟能抗菌减压,4个部位各有奇效!
乙烯在工业中的应用与限制
五根线的电线怎么接线
被子长虫子怎么处理? 床垫_枕头_窗帘_毛毯等家纺除虫方法
北京高校毕业生租房补贴申请指南
USB传输数据身份认证功能,让数据传输更安全!
大学生逃课现状、原因及对策研究
如何戒掉你的坏习惯?
斩赤瞳:S女王艾斯德斯,也有善良的一面,为了爱情也曾勇敢追寻
刷牙时要“刷舌头”吗?医生:你可能是搞错了,口臭才会一直存在
塑木地板(WPC)与实木地板之间的区别是什么?
“并购六条”落地满月 A股资产重组生态渐变
比较分析法:一种重要的研究工具
生莲子的营养价值与食用方法(探索莲子的神奇魅力,开启健康生活之门)
地毯选购指南:如何挑选适合的地毯及品牌推荐