1. 程式人生 > >移動優先級的添加,2D渲染層級問題

移動優先級的添加,2D渲染層級問題

pla cnblogs reg nsf ack system class blog width

bug修改:

1、上下移動和左右移動同時存在時,坦克會斜著移動

解決:增加移動優先級

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {
    public float moveSpeed;//坦克移動速度

    private SpriteRenderer sprRenderer;//存儲圖片的引用
    public Sprite[] sprMove;//移動切換圖片
    private void
Awake() { sprRenderer = this.GetComponent<SpriteRenderer>(); //獲取圖片的引用 } void Start () { } void Update () { } private void FixedUpdate() { float h = Input.GetAxisRaw("Horizontal");//獲取水平輸入 float v = Input.GetAxisRaw("
Vertical");//獲取垂直輸入 #region 移動圖片切換 if (h > 0) { sprRenderer.sprite = sprMove[0];//右移 } else if (h < 0) { sprRenderer.sprite = sprMove[1];//左移 } transform.Translate(Vector3.right * h * moveSpeed * Time.deltaTime);//
水平移動 //設置移動優先級 if (h != 0) { return; } if (v > 0) { sprRenderer.sprite = sprMove[2];//上移 } else if (v < 0) { sprRenderer.sprite = sprMove[3];//下移 } transform.Translate(Vector3.up * v * moveSpeed * Time.deltaTime);//垂直移動 #endregion #region 圖片旋轉 #endregion } }

渲染優先級

技術分享圖片

SortingLayer:層級

OrderInLayer:渲染層級,層級越大的時候越後渲染,後渲染的顯示在最上面

0層級:子彈、爆炸特效

1層級:森林

2層級:坦克

移動優先級的添加,2D渲染層級問題