Unity3D《打地鼠》学习笔记及心得

一、新建工程
二、创建Audio、Prefabs、Scenes、Scripts、Sprites文件夹。
三、导入图片素材到Sprites文件夹、音频素材到Audio文件夹。
1、修改图片属性为Texture Type:Sprite(2D and UI),分辨率:100
2、搭建场景
3、改变场景图片Sort Layer即层级关系。
4、建立洞口、地鼠(两种)生成预制体到Prefabs文件夹。
4、保存场景。
在这里插入图片描述
在这里插入图片描述
四、 生成洞口(生成3*3规则排布的洞口,并且保存洞口信息)
1、使用Instantinate函数实例化洞口对象
2、创建GameController脚本到Scripts文件夹,赋给ground即场景。
3、 具体代码
public class GameController : MonoBehaviour {
public struct Hole
{//描述洞口的结构体
public bool isAppear;//表示这个洞口是否出现了地鼠
public int holeX;//表示洞口的x坐标
public int holeY;//表示洞口的y坐标
}
public Hole[] holes;//保存所有洞口的信息
private float intervalPosX = 2, intervalPosY = 1;//每个洞口的横向和纵向间隔
public GameObject holeObj;//要实例化的洞口预制体

void Start () {
    InitMap();//初始化洞口
}
//初始化场景洞口
 private void InitMap()
{
    Vector2 originalPos = new Vector2(-2, -2);//洞口的初始坐标
    holes = new Hole[9];//分配存储洞口信息内存
	//初始化每个洞口的信息并创建洞口对象
    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            holes[i * 3 + j] = new Hole() ;
            holes[i * 3 + j].holeX = (int)(originalPos.x + j* intervalPosX);  //计算每一个洞口的x坐标
            holes[i * 3 + j].holeY = (int)(originalPos.y + i* intervalPosY);  //计算每一个洞口的y坐标
            holes[i * 3 + j].isAppear = false;   //表示当前洞口没有地鼠
            Instantiate(holeObj, new Vector3(holes[i * 3 + j].holeX, holes[i * 3 + j].holeY, 0), Quaternion.identity);  //实例化洞口对象
        }
    }
}

}
在这里插入图片描述
五、地鼠在洞口的随机生成和销毁,并控制地鼠生成的频率
1、
1)使用随机数决定生成于那个洞口(UnityEngine.Random.Range(0, 9))
2)生成对象用Instantiate函数(Instantiate(Object original,Vector3 position,Quaternion rotation) original:要生成的对象 position:在哪个位置生成该对象 rotation:对象生成后的初识朝向)
3)销毁对象用 Destroy函数(Destroy(Object obj,float t=0.0F) obj:要销毁的对象 t:执行该代码后多长时间后才把对象销毁)
2、使用函数InvokeRepeating(string methodName,float time,float repeatRate)控制地鼠的生成。
3、具体代码如下:
public class GameController : MonoBehaviour {
public struct Hole
{//描述洞口的结构体
public bool isAppear;//表示这个洞口是否出现了地鼠
public int holeX;//表示洞口的x坐标
public int holeY;//表示洞口的y坐标
public GameObject mole; //该洞口出现的地鼠
}
public Hole[] holes;//保存所有洞口的信息
private

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值