以下是一个简单的Unity MVC代码示例,其中包含Model、View和Controller:

Model:

public class PlayerModel
{
    private int health;
    private int score;

    public PlayerModel()
    {
        health = 100;
        score = 0;
    }

    public int Health
    {
        get { return health; }
        set { health = value; }
    }

    public int Score
    {
        get { return score; }
        set { score = value; }
    }

    public void TakeDamage(int damage)
    {
        health -= damage;
    }

    public void AddScore(int points)
    {
        score += points;
    }
}

View:

public class PlayerView : MonoBehaviour
{
    public Text healthText;
    public Text scoreText;

    private PlayerModel playerModel;

    private void Start()
    {
        playerModel = new PlayerModel();
    }

    private void Update()
    {
        healthText.text = "Health: " + playerModel.Health.ToString();
        scoreText.text = "Score: " + playerModel.Score.ToString();
    }

    public void TakeDamage(int damage)
    {
        playerModel.TakeDamage(damage);
    }

    public void AddScore(int points)
    {
        playerModel.AddScore(points);
    }
}

Controller:

public class PlayerController : MonoBehaviour
{
    private PlayerView playerView;

    private void Start()
    {
        playerView = GetComponent<PlayerView>();
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Enemy")
        {
            playerView.TakeDamage(10);
        }
        else if (other.tag == "Coin")
        {
            playerView.AddScore(5);
        }
    }
}

在此示例中,PlayerModel表示玩家的数据(如生命值和得分),PlayerView表示玩家的UI元素(如生命值和得分文本),PlayerController则负责处理玩家与其他对象之间的交互(如敌人和硬币)。这种分离使代码更易于维护和扩展。

unity mvc 代码例子

原文地址: https://www.cveoy.top/t/topic/4UO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录