打地鼠游戏(2D)学习笔记
制作流程
1. 导入素材、Sorting Layer(分层)和调整相机位置
分类建立文件夹,并导入如下素材:
为做到图层的覆盖,将图层进行分类
调整相机位置
2. 生成洞口
将对象素材拖制成预制体后,编写脚本GameController部分内容:利用二位数组转化成一元数组生成洞口:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameController : MonoBehaviour {
public struct Hole {
//地洞位置信息
public int holeX;
public int holeY;
}
public Hole[] holes;
public float intervalPosX = 2, intervalPosY = 1;//地洞之间的横纵间隔设定
public GameObject holeObj;
public GameObject moleObj;
// Use this for initialization
void Start () {
Initmap();
}
private void Initmap()
{
Vector2 originalPos = new Vector2(-2, -2);//初始地洞位置
holes = new Hole[9];//利用二维数组转换成一维数组设定地洞,如holes[8]即第一个地洞=数组【2,3】
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);
holes[i * 3 + j].holeY = (int)(originalPos.y + i * intervalPosY);
//生成地洞
Instantiate(holeObj, new Vector3(holes[i * 3 + j].holeX, holes[i * 3 + j].holeY, 0), Quaternion.identity);
//Quaternion四元数,表示旋转,可防止万向锁;Quaternion.identity表示默认初始旋转角度
}
}
}
// Update is called once per frame
void Update () {
}
}
<