unity mvc 代码例子
以下是一个简单的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则负责处理玩家与其他对象之间的交互(如敌人和硬币)。这种分离使代码更易于维护和扩展。
原文地址: https://www.cveoy.top/t/topic/4UO 著作权归作者所有。请勿转载和采集!