我现在正在学习游戏设计,并且从入门开始,SuperMarioBro是我现在要用很少的引擎完成的游戏。我想设计一个触发器,以便当Mario碰到问号时,会出现蘑菇,金币或白花等。因此,在点击它时,触发器被触发,它将调用其回调函数以产生不同的事物以使其更加去耦。
所以我的问题是,我应该如何设计一个完美的Event Trigger框架,我只是对此大体了解。
由于问题很笼统,所以我将给您一个天真的想法,让我亲自开始思考。
我想您的游戏已经有一个事件管理器,您可以向其注册以接收特定事件的通知(可能使用观察者设计模式)。
然后,对于可能要触发特定操作的任何事件,我都会将TriggerManager注册为接收器。对于每种观察到的事件,TriggerManager将包含两件事:
过滤器将用于确定事件是否符合所需条件(例如,在范围区域内移动的实体)。
如果事件通过了过滤器,则响应该事件执行处理程序:将动作/命令/事件发送到另一个实体或系统。
另外,在过去的某个时候,我阅读了有关reddit的文章(请参阅评论),我发现它也很受启发,并描述了另一种方法。
您可能还想在gamedev.stackexchange.com上向stackexchange游戏开发者社区提问。
希望这能给您一些想法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句