阅读 gamasutra 上的一篇文章让我想到了 MVC 游戏中的控制器应该如何设计为:
选项1:控制器应该作用于模型,
例如:每当按下一个键控制器调用模型:
On KeyPress Left
SuperMario.StartWalking(Left)
On KeyRelease -Left or Right-
SuperMario.StopWalking()
选项 2:模型向控制器询问要做什么
例如:每个更新刻度模型调用 GetDesiredXSpeed():
On KeyPress Left
speedX = -SuperMario.MaxSpeed();
On KeyRelease -Left or Right-
speedX = 0;
int GetDesiredXSpeed()
return speedX;
控制器的两种设计中的哪一种在能够更改控制器以支持替代输入方法(例如,操纵杆或鼠标、网络播放器甚至人工智能)方面提供最大的好处?我应该比另一个更喜欢什么。如果你在游戏设计方面有个人经验,请给我你的 2 美分。