Добрый день всем, я пытаюсь сделать простую 2D игру и вот как она работает. Предположим, что есть спрайт "палатка", и всякий раз, когда я щелкаю по палатке, консоль распечатывает сообщение. Звучит просто, не так ли? Тем не менее, я словно застрял в середине этого, и я знаю, что после этого я буду так сильно передергивать себя. То, что я сделал в моем сценарии:
public abstract class Player : MonoBehaviour {
protected string _name;
// Use this for initialization
public Player(string name)
{
_name = name;
}
public string Name
{
get { return _name; }
set { _name = value; }
}
void Start () {
}
// Update is called once per frame
void Update () {
}}
Далее у меня есть детский класс, который называется Civilian
public class Civilian : Player {
// Use this for initialization
public Civilian(string name):base(name)
{
}
void Start () {
}
// Update is called once per frame
void Update () {
}
}
Затем в моем сценарии «Tentclicked» я хочу вызвать функцию сна при нажатии на спрайт.
public class tentclicked : MonoBehaviour {
void OnMouseDown()
{
// c.Sleep();
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
А вам интересно, что такое c и на что он указывает? Я создал новый класс в другом скрипте под названием testing1.
public class testing1 : MonoBehaviour
{
public Text p1name;
public void Awake()
{
//p1name.text = "Hello";
//Civilian C = Scriptss.AddComponent<Civilian>();
//GameObject theCivilian = GameObject.Find("Scriptss");
// Civilian c = theCivilian.GetComponent<Civilian>();
//c.Name = Testingsavename.playernames.username;
//c.Name = "Hello";
}
// Use this for initialization
void Start()
{
if (Choosechar.choice.choicecount == 1)
{
Civilian c = new Civilian(Testingsavename.playernames.username);
p1name = GetComponent<Text>();
p1name.text = c.Name;
}
Я уже добавил коллайдер в свой спрайт. Ошибка в том, что в tentclicked, c не существует в контексте. Так что я подозреваю, что единство не знает, что такое с. Я думаю о том, чтобы сделать гражданский класс статическим, и я просто назвал Civilian.civilian.Sleep () в сценарии с тенткликом ....