链接放在这里
unity小球吃金币小游戏-Unity3D文档类资源-CSDN下载这是我在学完虚拟现实技术这门课程后利用unity所做的小球吃金币小游戏,里面有源码和作品源文件,用u更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/m0_57324918/85604051
1创建Roll A Ball小球吃方框金币游戏项目,创建地面和小球。
操作步骤:
1)新建项目,依次输入项目名称,选择项目存储路径
2)点击“Create project”创建项目进入Unity 3D界面,右上角“Layout”可修改布局,Unity 3D有多种布局
3)在“Project”窗口中新建文件夹Scenes,存储游戏场景,按“Ctrl+S”存储当前游戏场景main
4)在“Hierarchy”窗口中创建游戏地面,右键选择“3DObject”|“Plane”,因为其为游戏地面,将其命名为Ground
5)选中Ground对象,在“Inspector”窗口的“Transform”右侧的齿轮选择“Reset”,将地面对象放置在坐标系原点
6) 在“Project”窗口中新建文件夹名为Materials,存储材质,在Materials文件夹中新建“Material”材质文件
7)将“Material”命名为Ground,选中Ground材质,在“Inspector”窗口中修改“Albedo”颜色为淡蓝色后面有对颜色进行了修改
8) 在“Hierarchy”窗口创建游戏主角小球对象,右键选择“3D Object”|“Sphere”,并将其命名为Player.
9) 将小球对象放置在坐标系原点,选中小球Player对象,在“Inspector”窗口的“Transform”右侧的齿轮选择“Reset” 为小球添加重力。在“Hierarchy”窗口选择小球Player对象,在“Inspector”窗口点击最小面的“Add component”添加组件按钮,添加“Rigidbody”刚体组件
2. 创建脚本使小球动起来,并用键盘控制小球的运动。
1)为使小球运动起来,要为小球对象添加脚本文件。在“Project”窗口中新建文件夹Scripts,存储脚本文件,在“Hierarchy”窗口选择小球Player对象,在“Inspector”窗口点击最下面的“Add component”添加组件按钮,输入Player,选择“New Script”,Language选择默认的“C Shape”,点击“Creat and Add”创建脚本文件
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Player : MonoBehaviour {
private Rigidbody rd;
public int force = 5;
public Text text;
public GameObject winText;
private int score = 0;
// Use this for initialization
void Start () {
rd = GetComponent
}
// Update is called once per frame
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rd.AddForce( new Vector3(h,0,v) * force );
}
//碰撞检测
void OnCollisionEnter(Collision collision) {
//collision.collider//获取碰撞到的游戏物体身上Collider组件
//string name = collision.collider.name; //获取碰撞到游戏物体的名字
//print(name);//print可以把一个字符串输出显示到控制台
if (collision.collider.tag == "PickUp") {
Destroy(collision.collider.gameObject);
}
}
void OnTriggerEnter(Collider collider) {
if (collider.tag == "PickUp") {
score++;
text.text = score.ToString();
if (score == 11) {
winText.SetActive(true);
}
Destroy(collider.gameObject);
}
}
}
3控制相机跟随小球移动。
1)点击移动按钮,选择相机对象,向上拖动“Y”轴,将其拖动到稍高一点的位置,每次调整相机时,在右下角会出现相机预览图
2)若想相机跟随小球运动,需要为相机添加脚本。在“Hierarchy”窗口选择“Main Camera”对象,在“Inspector”窗口点击最小面的“Add component”添加组件按钮,输入FollowTarget,选择“New Script”,选择默认的“C#”语言,点击“Creat and Add”创建脚本文件,
3) 将FollowTarget脚本拖入到Scripts文件夹中。若想相机跟随小球运动,需要相机与小球的距离保持不变。首先,在follow脚本中要取得小球的位置信息。代码如下
编写FollowTarget.cs
using UnityEngine;
using System.Collections;
public class PickUp : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {// 1s 60
transform.Rotate( new Vector3(0,1,0) );
}
}
4控制小球移动范围并加入可旋转的金币。
1)创建地面边界墙,在“Hierarchy”窗口创建cube对象,右键选择“3D Object”|“Cube”,选中cube对象,在“Inspector”窗口的“Transform”中修改“Position”的X、Y、Z为0,0,10,“Scale”的X、Y、Z为20,2,1
2)在“Hierarchy”窗口选中cube对象,按“Ctrl+D”复制cube对象,分别创建其他三面墙体,三面墙体的“Transform”参数分别为(PositionX、Y、Z为0,0,-10,ScaleX、Y、Z为20,2,1)、(PositionX、Y、Z为10,0,0,ScaleX、Y、Z为1,2,20)、(PositionX、Y、Z为-10,0,0,ScaleX、Y、Z为1,2,20)
3)在Materials文件夹中新建Material,将Material命名为Pickup,选中Pickup材质,在“Inspector”窗口中修改“Albedo”颜色为金色,并将该材质与Pickup对象关联
4)创建可收集的金币。在“Hierarchy”窗口新建cube对象,命名为Pickup,选中cube对象,在“Inspector”窗口的“Transform”中修改“Rotation”的X、Y、Z为45,45,45,“Scale”的X、Y、Z为0.5,0.5,0.5
5) 为了使所有的Pickup都旋转,选择“Project”窗口下Prefabs文件夹中的Pickup,在“Inspector”窗口点击最小面的“Add component”添加组件按钮,输入pickup,选择“New Script”,选择默认的“C Shape”语言,点击“Creat and Add”创建脚本文件,并将该脚本放在Scripts文件夹下
编写PickUp.cs
using UnityEngine;
using System.Collections;
public class PickUp : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {// 1s 60
transform.Rotate( new Vector3(0,1,0) );
}
}
5实现小球吃掉金币效果。
using UnityEngine;
using System.Collections;
public class player : MonoBehaviour {
private Rigidbody rd;
public int force = 5;
// Use this for initialization
void Start () {
rd = GetComponent
}
// Update is called once per frame
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rd.AddForce(new Vector3(h, 0, v) * force);
}
void OnCollisionEnter(Collision collision) {//碰撞检测函数
if(collision.collider.tag == "Pickup") {//判断小球是否碰到金币
Destroy(collision.collider.gameObject); //使金币消失
}
}
6在小球吃掉金币时显示分数以及吃光所有金币后显示胜利。
1)如果在小球吃掉金币时加分,并实时显示分数,修改Player代码如下:
using UnityEngine;
using System.Collections;
public classplayer : MonoBehaviour {
private Rigidbody rd;
public int force = 5;
private int score = 0; //定义分数变量
// Use this for initialization
void Start () {
rd = GetComponent
}
// Update is called once per frame
void Update () {
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
rd.AddForce(new Vector3(h, 0, v) * force);
}
void OnTriggerEnter(Collider collider)
{
if(collider.tag == "Pickup")
{
score++; //每次接触金币对分数加1
Destroy(collider.gameObject);
}
}
}
运行游戏,当吃光所有金币后效果如图所示
7发布PlayBall的Windows程序并运行该程序。
操作步骤:
1)发布windows平台的exe游戏,点击“File”|“Build Setting”
2)选择“PC,Mac&Linux…”,选择“TargetPlatform”|“Windows”,“Architecture”中x86为32位操作系统应用程序,x64为64位应用程序,根据实际情况选择即可,点击“Build”即可发布程序。
3)运行exe文件运行游戏
4)勾选Windows,点击“Play”运行游戏
作品链接放在这里unity小球吃金币小游戏-Unity3D文档类资源-CSDN下载这是我在学完虚拟现实技术这门课程后利用unity所做的小球吃金币小游戏,里面有源码和作品源文件,用u更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/m0_57324918/85604051