Unity2D简单游戏飞机大战开发(一)
作者:互联网
1.第一步:首先再unity的Assets下新建三个文件夹,分别为materials ,scripts ,textures。然后在textures文件夹中拖入三个图片,分别是飞机,敌机以及子弹。(可以去2D资源网等地方下载)
2.第二步:为了让游戏运行时有更好的体验,可以设置窗口大小以及分辨率等等,设置分辨率的步骤为选择Edit | Project Setting | Player,然后找到Resolution栏中设置Default Screen Width为800,Default Screen Height为600,
之后选择窗口上面的Game部分,点击Standalone,便可以选择设置的800*600作为窗口大小。
3.第三步:为场景添加游戏对象,将飞机以及敌机拖入到屏幕中,在主摄像机的范围中,接下来为飞机以及敌机添加碰撞(Collider)主键,步骤为点击飞机,在unity屏幕的右方便可以看到检查器(Inspector)那一栏,然后选择下方的Component | Physics | Box Collider(这里的盒碰撞器有2D,3D,没什么大差别,我用的时2D)。在两个都添加完碰撞器后,发现可以设置在X,Y,Z方向上的大小,这个自己设置一个范围。
4.第四步:让飞机动起来,首先我们要在之前创建的Scripts文件夹下面新建一个C#脚本文件,将其命名为 PlayerController ,双击这个脚本文件,我这里时在VS中进行编辑,如果没有的话建议下一个VS,关联Unity,网上有很多这样的教程,代码如下,其中有些注释可能不是很准确,请包涵。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
//飞船每秒移动的单元的个数
public float Speed;
//保证飞船在上下左右移动
public Vector3 MinMaxX = Vector3.zero;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
transform.position =
new Vector3(
Mathf.Clamp( //Mathf.Clamp限制x移动范围,Input.GetAxis("Horizontal")获取键盘左右移动
transform.position.x + Input.GetAxis("Horizontal") * Speed * Time.deltaTime,
MinMaxX.x,
MinMaxX.y),
//transform.position.y,
Mathf.Clamp( //Mathf.Clamp限制y移动范围,Input.GetAxis("Vertical")获取键盘上下移动
transform.position.y + Input.GetAxis("Vertical") * Speed * Time.deltaTime,
MinMaxX.z,
5),
transform.position.z
);
}
}
5.第五步:代码写好后保存,然后将这段脚本文件拖到屏幕右边的飞机的检查器(Inspector)那一栏中,便会发现此时多了一个PlayerController(Scripts)组件,其中可以调节Speed参数,也可以调X,Y,Z,这里的X,Y,Z,代表的是飞机的运动边界的设定。然后启动程序,便可以通过键盘上下左右进行控制。
以上便是第一大部分所作,我接下来还会写第二部分,直到完成,中间会记录一些我遇到的问题,以及解决的办法。
标签:Clamp,Mathf,游戏,Unity2D,GetAxis,transform,大战,position,MinMaxX 来源: https://blog.51cto.com/u_15154775/2930330