C# w Unity

0

Wiec mam problem ze skryptem, bo wyświetla mi się end-of-file oraz kilka innych błędow. Skrypt jest z kursu C# dla leniwych
a tutaj skrypt:

using UnityEngine;
using System.Collections;

public class PlayerStats : MonoBehaviour
{
	private float maxHealth = 100;
	private float currentHealth = 100;
	private float maxArmour = 100;
	private float currentArmour = 100;
	private float maxStamina = 100;
	private float currentStamina = 100;

	public Texture2D healthTexture;
	public Texture2D armourTexture;
	public Texture2D staminaTexture;

	private float barWidth;
	private float barHeight;

	void Awake()
	{
		barHeight = Screen.height * 0.02f;
		barWidth = barHeight * 10.0f;
	// Use this for initialization
	}
	void OnGUI()
	{
		GUI.DrawTexture (new Rect (Screen.width - barWidth - 10,
			Screen.height - barHeight - 10,
			currentHealth * barWidth / maxHealth,
			barHeight),
			healthTexture);
		GUI.DrawTexture (new Rect (Screen.width - barWidth - 10,
			Screen.height - barHeight * 2 - 20,
			currentArmour * barWidth / maxArmour,
			barHeigth),
			armourTexture);
		GUI.DrawTexture (new Rect (Screen.width - barWidth - 10,
			Screen.height - barHeight - *3 - 30,
			currentStamina * barWidth / maxStamina,
			barHeight),
			staminaTexture);
	}
	void Update()
	{
		if(Input.GetKeyDown(KeyCode.P)) { 
			takeHit (30);
		}
	}
}
0

To jest kod skopiowany z Twojej aplikacji czy z kursu? Jesteś pewien że chodzi o tę klasę? Jeżeli chodzi o "Unexpected symbol end-of-file" to zwykle oznacza że w kodzie brakuje zamykającej klamry "}"
Inna sprawa że klasa PlayerStats nie powinna nic rysować ani dziedziczyć po MonoBehaviour, powinieneś tu tylko przechowywać informację o statystykach.

0

Zimny Lew, masz trochę racji. Ale tutaj klasa łamie po prostu zasadę SRP. Robi coś w GUI, używa metod Update i Awake, które też są dziedziczone po MonoBehavior. Generalnie jeśli taki potworek pochodzi z kursu, to darowałbym sobie ten kurs chyba. Poza tym, o ile dobrze pamiętam, to Unity nie wspiera już OnGUI i to powinno być robione zupełnie inaczej.

Co do twojego problemu - to tak jak mówił Lew. Zazwyczaj to oznacza niedomkniętą klamerkę. Tutaj wygląda, że jest ok. Może plik jest w jakimś dziwnym kodowaniu? Powinien być w UTF-16.

1 użytkowników online, w tym zalogowanych: 0, gości: 1