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就会发现地图自动创建成功了,为了避免地图过多你需要自己管理地图的数量,比如玩家离开过远后删除一些地图。
如果你有更好的生成无限地图的方式欢迎评论区讨论哦。
热门推荐
爱与成长:从《哪吒2》看手足情与父母爱的深刻启示
人力成本失控,人力管理如何精准施策实现降本增效?
湖北的风土人情,荆楚文化发源地
血脂看体检报告哪一项? 揭秘四大指标读懂你的血脂健康
读书 | 敦煌壁画里的"回鹘天公主":怎么就成了曹议金的第一嫡妻?
Excel快速求和技巧:一招搞定列总和计算
高考后如何调适,试试这些“充电”的小妙招
几点睡觉算是熬夜?13万人研究提醒:不是11点,也不是12点,很多人搞错了
《闪之轨迹》PC版技术问题的全面解决方案:排除闪退、文件丢失与卡顿障碍
存储卡图标全解析:SD与micro SD卡的识别
2025春季烫染5大趋势
最适合40岁女性的发型:齐耳短发的时尚魅力
魔童哪吒的历史原型
如何在全国人力资源和社会保障服务平台查询个人社保信息?
路口路段优化提升改造步行式街区的探索与实践
生活中的药食同源,吃出健康生活之小茴香
跨越爱情与友情之间的界限:理解复杂的情感关系
草莓完全指南:从挑选到储存再到营养价值
给不知道爸爸是谁的孕妇的建议
会展项目经理的简历怎么写项目经验
超2600名黄氏族人欢聚!大沥平地冬祭“非”同“遗”般
番茄小说头部IP《斩神》,如何成为今年的国漫黑马?
汉兰达擎油电混合原理?油电混合技术如何工作?
梦到餐厅吃饭的深层含义
广东揭阳市公认的10个特色餐馆,排队也要去吃一次,先收藏了
冬天如何让手暖和
泰迪VS博美:哪种狗狗更适合你?
陈皮的功效与禁忌:三种陈皮水制作方法详解
数智赋能大健康时代的深入实践——音乐人工智能与声音疗愈的交叉融合
华东政法大学 | 探索中国法学教育的璀璨明珠 🌟