java – OO游戏设计问题

前端之家收集整理的这篇文章主要介绍了java – OO游戏设计问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在用 Java编写一个简单的游戏,但我正在尝试用一个漂亮干净的设计做到’正确’而且没有黑客攻击.

我有两个类GamePanel接收点击和按键,模型包含所有实体并负责更新.模型需要知道用户鼠标的位置,但我无法决定采用“正确”的方法.

模型和内部的每个实体是否应该保持对GamePanel的引用,或者只是缓存最后已知的鼠标位置并定期从GamePanel接收更新.使用第一个选项创建模型时,需要为GamePanel提供引用,第二个鼠标位置将作为参数发送到World.update()方法.

这些解决方案似乎都不优雅,所以我想知道是否有一种“正确”的方式来做到这一点,我已经错过了.

谢谢,
本.

解决方法

在我看来,这取决于你的课程如何互动.鼠标位置的变化是否触发了Model类中的实体?或者Model类是否独立于GamePanel并且仅适用于Mouse位置的当前值?

如果后来和那个案子我同意杰夫在我面前所说的话.在创建它时将GamePanel上的句柄传递给Model类,并让每个实体在需要时使用句柄来访问鼠标位置.这样就总是使用更新的鼠标位置.

如果前者我建议使用Observers让Model类知道鼠标位置值何时发生了变化.然后Model类可以使用相同的设计(即让Model类始终在GamePanel类上有句柄)并访问GamePanel中的当前值.

总结我对你的问题的答案,我认为只有逻辑和符合OO概念才能让GamePanel保持鼠标位置的值,让其他类使用GamePanel实例访问该信息.

谢谢,罗汉.

猜你在找的Java相关文章