Unity3D 坦克大戰(zhàn)1 2021-03-08

1

1:背景改黑,大小改8.5


2

2:長寬比改為5:4


3

3:Ctrl shift +C 調(diào)出控制臺、


4

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


5

5:新建3D 立方體 ,當(dāng)移動參照物


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<SpriteRenderer>();

? ? }

? ? 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:圖層順序,添加子彈,設(shè)置坦克移動方式

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<SpriteRenderer>();

? ? }

? ? 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];

? ? ? ? }

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容