在我的主要更新功能中,我正在检查控制器输入、更新游戏角色和处理碰撞。我的主要更新功能目前看起来像:
// Handle Character/Terrain collision
foreach (ICharacer character in this.CharacterList)
foreach(ITerrain terrain in this.TerrainList)
HandleCollision.FixCollision(character, terrain)
// Get controller input
foreach (IController controller in this.ControllerList)
controller.GetAction();
// Update characters
这一切都很好,但我注意到当我切换顺序以便在碰撞处理之前检查控制器输入时,字符会掉到地板上。
该方法是检查正在按下的按钮controller.GetAction()
的一系列语句和命令。if
如果没有按钮被按下,它什么也不做。
我想知道为什么这种排序很重要,尤其controller.GetAction()
是什么都不做的时候。如果您愿意,我很乐意添加更多代码。