Unity3D 坦克大战1 2021-03-08

1

1:背景改黑,大小改8.5


2

2:长宽比改为5:4


3

3:Ctrl shift +C 调出控制台、


4

4:保存Game到 新建Scenes文件夹中


5

5:新建3D 立方体 ,当移动参照物


6

6:建立文件夹,放置对象


7

7:放置对象 动画 动画控制文件夹


8

8:Player装脚本:

public class Player : MonoBehaviour

{

    public float moveSpeed = 3;

    // Start is called before the first frame update

    void Start()

    {


    }

    // Update is called once per frame

    void Update()

    {

        float h = Input.GetAxisRaw("Horizontal");

        transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime,Space.World);

        float v = Input.GetAxisRaw("Vertical");

        transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);


    }

}


9

9:TankSprite中放入四个方向图

public class Player : MonoBehaviour

{

    public float moveSpeed = 3;

    // Start is called before the first frame update

    private SpriteRenderer sr;

    public Sprite[] tankSprite;//上 右 下 左

    private void Awake()

    {

        sr = GetComponent();

    }

    void Start()

    {


    }

    // Update is called once per frame

    void Update()

    {

        float h = Input.GetAxisRaw("Horizontal");

        transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime,Space.World);

        if (h < 0)

        {

            sr.sprite = tankSprite[3];

        }

        else if(h > 0)

        {

            sr.sprite = tankSprite[1];

        }

        float v = Input.GetAxisRaw("Vertical");

        transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime, Space.World);

        if (v < 0)

        {

            sr.sprite = tankSprite[2];

        }

        else if (v > 0)

        {

            sr.sprite = tankSprite[0];

        }

    }

}


10

10:图层顺序,添加子弹,设置坦克移动方式

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Player : MonoBehaviour

{

    //属性值

    public float moveSpeed = 3;

    //引用

    private SpriteRenderer sr;

    public Sprite[] tankSprite;//上 右 下 左

    private void Awake()

    {

        sr = GetComponent();

    }

    void Start()

    {


    }

    void Update()

    {


    }

    private void FixedUpdate()

    {

        Move();

    }

    //坦克移动方法

    private void Move()

    {

        float v = Input.GetAxisRaw("Vertical");

        transform.Translate(Vector3.up * v * moveSpeed * Time.fixedDeltaTime, Space.World);

        if (v < 0)

        {

            sr.sprite = tankSprite[2];

        }

        else if (v > 0)

        {

            sr.sprite = tankSprite[0];

        }

        if (v != 0)

        {

            return;

        }

        float h = Input.GetAxisRaw("Horizontal");

        transform.Translate(Vector3.right * h * moveSpeed * Time.fixedDeltaTime, Space.World);

        if (h < 0)

        {

            sr.sprite = tankSprite[3];

        }

        else if (h > 0)

        {

            sr.sprite = tankSprite[1];

        }

    }

}

你可能感兴趣的:(Unity3D 坦克大战1 2021-03-08)