Итак, я разработал собственную полосу HP и выровнял ее так, как мне бы хотелось, чтобы она выглядела так же, как я хотел бы, чтобы она выглядела.

Однако, когда я нажимаю кнопку воспроизведения (не в полноэкранном режиме, даже не проверял), фон изображения либо слегка сдвигается вправо, либо изображение зеленого заполнителя скользит влево.

Понятия не имею, почему он это делает или как это исправить. Я готов предложить любую необходимую вам информацию, такую как код или снимки экрана инспектора.
Это снимок экрана панели, как на холсте сцены.


Как видно, когда кнопка Play не нажата, панель работает нормально. Приведенный выше рисунок наполовину полон. На изображении ниже пусто.

Часть 2 выпуска:
У меня также возникают проблемы с тем, что панель HP правильно вращается вместе с плеером.

Однако, когда я поворачиваю влево или вправо или вверх:

] 9
Таким образом, вы можете видеть, что панель HP не вращается должным образом с движением игрока; хотя он и следует идеально, планка не вращается соответственно. Я могу предоставить некоторый код движения и код, который я использую для отслеживания положения игрока. Я создал сферу и прикрепил ее к игроку. Затем я прикрепил скрипт для отслеживания игрока в этой сфере. Затем я удалил рендеринг сетки и коробочный коллайдер сферы.
Сценарий панели состояния
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PHealth : MonoBehaviour {
[Header("HP Bar Images")]
[SerializeField]
private Image HpBarBG;
[SerializeField]
private Image HpBarFillBar;
private float imgFill = 1;
void Update () {
FillBar()
}
private void FillBar(){
HpBarFillBar.fillAmount = imgFill;
}
}
Скрипт движения игрока
public GameObject player;
public Vector3 localscale;
// public Transform start, end;
[SerializeField]
private float speed = 5;
void Start () {
}
// Update is called once per frame
void Update ()
{
/*
******** RAYCAST TO DETECT WALLS BELOW *******
*/
// WallDetection(); //Cast ray to detect walls
/*
********* MOVEMENT CODE BELOW *********
*/
if (Input.GetKey(KeyCode.W)|| Input.GetKey(KeyCode.UpArrow)) // Move
Forward
{
player.transform.Translate(Vector2.up * speed * Time.deltaTime,
Space.World);
transform.eulerAngles = new Vector2(0, 180);
}
}//End of class