《打地鼠游戏》制作
一、场景搭建
1、前期准备:
游戏场景图片
A、背景图片素材
B、地洞图片素材
C、老鼠图片素材
这里我分别选用以下图片作为游戏制作素材,利用ps简单处理,已达到方便使用的目的。
背景图片素材
地洞图片素材
地鼠图片素材
2、Unity实操:
1、打开unity,新建项目。如图1.2.1-1所示。在Project name中输入游戏名称,在Template中选择2D。点击蓝色块创建项目。
图1.2.1-1
2、分别导入游戏背景图片素材和地洞图片素材。如图1.2.2-1所示。分别选中图片库中背景素材图片和地洞素材图片拖至unity-Assets-Scenes中。
图1.2.2-1
3、分别选中两个图片素材检查TextureType与PixelsPerUnit内容如图1.2.2-2所示。
图1.2.3-1
4、将背景图片与地洞图片拖至Hierarchy面板。效果如图1.2.4-1
图1.2.4-1
5、调整图片上下位置,这里我们将背景图片素材Order in Layer设置为0,地洞图片素材Order in Layer设置为1.如图1.2.5-1所示。
图1.2.5-1
二、点击销毁地鼠
1、添加地鼠素材
1、使用于背景图片素材同样的方法添加地鼠图片素材到场景中。调整图片大小并将其放在合适位置。
2、为地鼠添加碰撞体;点击Inspector面板最下面Add Component中选择physics 2D点击选中Capsule Collider 2D如图2.1.2-1所示。
图2.1.2-1
3、添加销毁脚本
1、添加脚本实现鼠标点击地鼠,地鼠消失的功能。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jida : MonoBehaviour{
void Start(){
}
void OnMouseDown()
{
Destroy(gameObject);
}
}
三、随机位置生成地鼠
1、添加地鼠状态变换功能
1、修改脚本添加地鼠被击打后的形态。这里我们分别用地鼠1地鼠2表示地鼠被击打前后的状态。
修改原脚本使被打击后的地鼠原地生成。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jida : MonoBehaviour{
public GameObject m_yuzhiti2;
void Start(){
}
void OnMouseDown(){
Debug.Log(“you hit me”);
Instantiate(m_yuzhiti2, transform.position, Quaternion.identity);
Destroy(gameObject);
}
}
添加地鼠2
地鼠2图片素材
为地鼠2添加脚本实现地鼠2在0.5秒后销毁。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Xiaotui : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Destroy (gameObject, 0.5f);
}
// Update is called once per frame
void Update()
{
}
}
将Hierarch面板心中的地鼠2对象拖至project面板Assets文件作为地鼠1的预制体已被随时调用。再将地鼠1拖至project面板Assets文件作为预制体随时备用。
2、随机位置生成地鼠
这个步骤要实现的目的是在十二个指定位置随机生成地鼠。在Hierarch面板创建空物体。修改名称为“随机生成”。并添加脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Suijishengcheng : MonoBehaviour
{
public GameObject m_Target;
void Start()
{
//Create();
InvokeRepeating (“Create”, 0, 2);
}
// Update is called once per frame
void Create()
{
Vector3 pos = Vector3.zero;
int id = 0;
id=Random.Range (1, 13);
if(id==1)
pos = new Vector3(-4, 2, 0);
if (id == 2)
pos = new Vector3(-1, 2, 0);
if (id == 3)
pos = new Vector3(2, 2, 0);
if (id == 4)
pos = new Vector3(5, 2, 0);
if (id == 5)
pos = new Vector3(-4, 0, 0);
if (id == 6)
pos = new Vector3(-1, 0, 0);
if (id == 7)
pos = new Vector3(2, 0, 0);
if (id == 8)
pos = new Vector3(5, 0, 0);
if (id == 9)
pos = new Vector3(-4, -2, 0);
if (id == 10)
pos = new Vector3(-1, -2, 0);
if (id == 11)
pos = new Vector3(2, -2, 0);
if (id == 12)
pos = new Vector3(5, -2, 0);
Instantiate(m_Target, pos, Quaternion.identity);
}
}
这个操作显现出之前地洞图片素材不够完美,在ps中简单处理使得地鼠出现位置与背景地洞位置相符合。使用地鼠1作为预制体实现随机生成地鼠的目的。
3、添加音效
将事先准备好的音效拖到project面板Assets文件。分别添加到地鼠1和地鼠2.游戏《打地鼠》制作完成。
小结:
制作这个游戏主要利用InvokeRepeating函数实现了随机位置生成地鼠的目的。以及预制体该如何添加使用。
不足
1地鼠不受到击打是不会自动消失的。
2地鼠2音频前奏太长,地鼠2消失以后音效才发出。
来源:CSDN
作者:weixin_45902923
链接:https://blog.csdn.net/weixin_45902923/article/details/104376593