PacMan 01——地图的搭建
2024-09-03 18:31:47
版权申明:
- 本文原创首发于以下网站:
- 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123
- 优梦创客的官方博客:https://91make.top
- 优梦创客的游戏讲堂:https://91make.ke.qq.com
- 『优梦创客』的微信公众号:umaketop
- 您可以自由转载,但必须加入完整的版权声明
地图的搭建
碰撞器放置
1.调整每一个Trigger的大小。
2.找到准确位置,但要把Trigger范围扩大0.5,防止触发误判
放入豆子
一个一个的手动放入太麻烦了,这里我们用脚本生成
1.先创建一个MapController空物体
2.在上面加上脚本
3.在地图上加入map标签
说明:在地图上每隔一段距离生成一个点,如果有墙壁的话消除豆子,为了防止意外情况,判定只有map标签才会消除豆子
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class map : MonoBehaviour {
//坐标组件;
public GameObject Map_HstartPulse;//生成豆子地图起始点
public GameObject Map_HendPulse;//生成豆子竖向结束点
public GameObject Map_WendPulse;//生成豆子横向结束点
const int x= 1;
//预制体
public GameObject Pulses;//生成的豆子(普通)
//地图状态器
// Use this for initialization
public bool isbeigover = false;//豆子是否生成完成
void Start () {
}
// Update is called once per frame
void Update ()
{
IsPulse();
}
public void IsPulse()//生成豆子的方法
{
if (isbeigover==false)
{
Debug.Log("制造完了");
for (float y = Map_HstartPulse.transform.position.y-1; y > Map_HendPulse.transform.position.y; y--)
{
for (float x = Map_HstartPulse.transform.position.x+1; x < Map_WendPulse.transform.position.x; x++)
{
GameObject ss= Instantiate(Pulses, new Vector2(x, y), Quaternion.identity);
}
}
isbeigover = true;
}
}
}
判断豆子是否要消失,因为不能有豆子和墙壁重合
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PacdotController : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
private void OnTriggerStay2D(Collider2D collision)
{
if (collision.gameObject.tag == "map")
{
//Debug.Log("aaa");
Destroy(this.gameObject);
}
}
}
效果如下
动画制作
最新文章
- PDF 补丁丁 0.5.0.2691 发布(替换字库新增字符映射功能)
- 常用到的git,mvn,postgres,vim命令总结
- Java 使用jaxp修改节点
- PayPal 高级工程总监:读完这 100 篇文献,就能成大数据高手
- web字体
- web安全攻防-环境配置
- wcf通道Channel
- linux自定义开机启动服务
- Hadoop CLI MiniCluster
- iOS-image图片压缩
- ubuntu终端快捷键
- 004-全局应用程序类Global.asax
- python基础题型一
- python可变类型和不可变类型
- Machine Schedule HDU1150
- 2k8 32bit下载
- 解决Navicat连接Oracle时报错ORA-28547
- poj 3630 Phone List 贪心
- 深入理解多线程(一)——Synchronized的实现原理
- thinkPHP的优缺点