Как получить переменные из производного класса в унаследованный класс - PullRequest
0 голосов
/ 31 марта 2019

В настоящее время я разрабатываю PacMan как школьный проект. У меня есть базовый класс, называемый призраками, который находит кратчайший путь от призрака до места назначения. У меня также есть классы, такие как красный призрак, которые наследуют его, они дадут базовому классу цель и текущее местоположение призрака. Когда я использую красный призрак, он работает ... переменные изменяются в базовом классе и затем могут использоваться, но для любого из других призраков это не будет работать, и я не могу понять, почему. Любая помощь приветствуется :)

    pinkghost = new PinkGhost();
    redghost = new RedGhost();

    pinkghost.SetVariables();
    pinkghost.ChaseMode();
    redghost.SetVariables();
    redghost.ChaseMode();

public abstract class Ghosts
{
    public int ScatterX;
    public int ScatterY;
    public int TargetX;
    public int TargetY;
    public int GhostPosX;
    public int GhostPosY;
    public int StartNodeX;
    public int StartNodeY;
    public float speed = 1.0f;

    abstract public void SetVariables();
    abstract public void ChaseMode();

    public Ghosts()
    {
        //Allows ghost to access pacman coords
        PacMan = GameObject.Find("pacman");
    }


public class RedGhost : Ghosts
{
    public override void SetVariables()
    {
        GhostMov = gameobject.Find("blinky");
        ScatterX = 24;
        ScatterY = 3;
        GhostPosX = 13 + Convert.ToInt32(GhostMov.transform.position.x);
        GhostPosY = 15 - Convert.ToInt32(GhostMov.transform.position.y);
    }
}

// This one works…
class PinkGhost : Ghosts
{
    public override void SetVariables()
    {
        GhostMov = gameobject.Find("pinky");
        ScatterX = 4;
        ScatterY = 3;
        GhostPosX = 13 + Convert.ToInt32(GhostMov.transform.position.x);
        GhostPosY = 15 - Convert.ToInt32(GhostMov.transform.position.y);
    }
}

Итак, как я уже сказал, переменные красного Призрака и чейзомод работают ... но розовый призрак не работает по какой-то причине?

1 Ответ

0 голосов
/ 31 марта 2019

Единственное отличие, которое я вижу, это то, что PinkGhost не является публичным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...