Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 游戏库存-设计模式_Actionscript 3_Oop_Design Patterns - Fatal编程技术网

Actionscript 3 游戏库存-设计模式

Actionscript 3 游戏库存-设计模式,actionscript-3,oop,design-patterns,Actionscript 3,Oop,Design Patterns,我还在研究面向对象的设计,那么对于一个简单的flash游戏来说,最好的方法是什么呢?似乎不止一种设计模式可以提供某种形式的投资,但如果我在不了解该主题的情况下尝试以某种方式进行调整,我将失去灵活性 为了钱,我想到了Singleton。如果在玩游戏时有足够的现金收入,那么就可以购买新技能 也许装饰图案可以将许多缩略图列为按钮,点击它可以为角色应用新的功能和技能 我想阅读关于解决这个问题的标准建议,因为我觉得我走错了路。谢谢。尽可能远离单身人士 Singleton有它的用途,但是我相信它在很多情况下

我还在研究面向对象的设计,那么对于一个简单的flash游戏来说,最好的方法是什么呢?似乎不止一种设计模式可以提供某种形式的投资,但如果我在不了解该主题的情况下尝试以某种方式进行调整,我将失去灵活性

为了钱,我想到了Singleton。如果在玩游戏时有足够的现金收入,那么就可以购买新技能

也许装饰图案可以将许多缩略图列为按钮,点击它可以为角色应用新的功能和技能


我想阅读关于解决这个问题的标准建议,因为我觉得我走错了路。谢谢。

尽可能远离单身人士

Singleton有它的用途,但是我相信它在很多情况下被过度使用了

单例的最大问题是您使用的是全局状态,这通常被认为是一件坏事,因为当软件的复杂性增加时,它可能会导致您产生意外的副作用

对象合成可能是更好的方法

对于游戏,您可能希望了解如何使用对象合成,而不是传统的OOD建模

软件组件是符合 组件模型,可以独立部署和组合,而无需 根据成分标准进行修改

组件模型定义了特定的交互和组合 标准。组件模型实现是一组专用的 支持执行所需的可执行软件元素 符合模型的零部件

软件组件基础设施是一组交互软件 设计用于确保软件系统或子系统 使用这些组件和接口构建将明确满足 定义的性能规范


阅读第一个链接中的资料可以让你对如何建立库存系统的模型以及如何以一种好的方式扩展库存系统有一些很好的想法。

多人还是单人?因为在单人游戏中,你们可以很容易地得到一个黄金计数器和技能列表/哈希图。丹尼尔·伊恩科夫,这将是单人游戏。所以感谢上帝,并没有交易。那么,在hashmap中返回所有可用技能的单例就是一个很好的解决方案。然后删除/禁用/突出显示玩家已经拥有的游戏,创建一个小视图来可视化它们,并在点击时将一些事件弹出。我一直在设计一个基于组件的游戏引擎,到目前为止,它运行得非常好,给了我很大的灵活性。另外,在可能使用单例的情况下,我认为服务定位器模式更好。请看这个@Allan-我也会避免使用服务定位器。服务定位器模式通常被认为是反模式。尽管它是由马丁·福勒创造的。最好使用基于参数的依赖项注入,而不是服务定位器。是的,我也读过那篇反模式的文章。当然,有些人反对,有些人赞成。我发现它很有用,特别是在游戏开发中