• Chinese students stopped from using campus charging stations reserved for foreigners 2019-04-19
  • 皖能集团公司纪委举办第三期纪检监察干部业务培训班 2019-04-19
  • 人民网评:马克思主义照亮了人类解放道路 2019-04-17
  • 全球智慧城市博览会 展现“中国解决方案” 2019-04-17
  • 把握区域经济发展的新特点(信息快递) 2019-04-13
  • 大美邯郸--河北频道--人民网 2019-04-13
  • 《党建评萃——机关基层党建50评》节选15篇 2019-04-12
  • 2018世界杯 竞彩游戏的投注方式 2019-04-09
  • 钱江晚报:地方治污,何以敢频频“欺上” 2019-04-09
  • 科学家尝试用“利器”解密元素起源 2019-04-04
  • “生态+康养” 冰雪康养小镇项目落户沽源 2019-04-03
  • <这里是重庆>首播 带你游山玩水 通晓重庆趣闻 2019-04-02
  • 马布里晒中国绿卡 退役后想再为中国男篮贡献力量 2019-04-02
  • 青春无敌!姆巴佩成代表法国出战世界杯的最年轻球员 2019-03-28
  • 饮料-热门标签-华商生活 2019-03-28
  • 福建31选7走势图体彩:中国职业教育高端品牌

    深圳 ( 总部 )
    点击切换

    在游戏引擎开发中常用的几种设计模式都有哪些?

    时间:2017-07-25 //www.fpi83.com 作者:中清龙图教育

    福建体彩36选7走势图 www.fpi83.com 游戏引擎是决定游戏基本程序运行的关键,如何开发好游戏引擎就成为游戏程序开发者必须掌握的一项技能。这里要说的并不是基础设计方法,而是更进阶的设计模式。下面我们就来看看一些在游戏引擎开发中常用的几种设计模式。


    仅仅因为你知道编程语言的语法,不足以让你成为一个程序员。我讨厌这么对你说,但它确实是真的。什么知识将会使你成为一个真正的程序员呢?答案是数据结构,算法和设计模式的知识。语言的语法与知道字母表同义。任何人,我的意思是任何人,可以在一个周内学会编程语言的语法。但是这样的人不可能开发??榛?、灵活的、可维护的应用。


    这有几种设计模式。他们中的大多数在书中都有相关的解释。但是最常用和最喜欢的设计模式如下:

    1、单例模式(SingletonDesign Pattern: Allows only):只允许创建一个类的一个实例。

    2、策略模式(StrategyDesign Pattern):通过解耦类行为从而提供灵活性。

    3、观察者模式(Observer Design Pattern):允许类在不知道任何事情的情况下相互交互。

    4、组合模式(CompositeDesign Pattern):为所有类提供了统一的接入点。

    5、模型-视图-控制器模式(Model-View-Controller Design Pattern)(MVC):摇滚乐队中的“披头士”。


    单例模式(Singleton Design Pattern)


    在游戏中,就像在电影里,应该只有一个导演。导演是一个类,这个类在游戏中指挥发生的事情。它控制对象的呈现。它控制位置更新。它将玩家的输入指向正确的游戏角色。

    引擎应该阻止创建一个以上的导演类的实例,通过单例设计模式来实现。此设计模式确保为给定类实例化有且只有一个对象。


    策略模式(Strategy Design Pattern)


    在游戏中,你应该将输入控制器和游戏逻辑之间的交互进行解耦。游戏的逻辑应该接收相同类型的输入,而不管输入控制器是什么(按钮,手势,操纵杆)。

    尽管对用户每个输入控制器的行为表现不同,但它们必须向游戏的逻辑提供相同的数据。此外,添加或删除输入控制器不应导致游戏崩溃。

    这种解耦行为和灵活性是可能的,这归功于策略设计模式。这种设计模式允许通过动态方式来改变行为,而不需要修改游戏的任何逻辑,为你的游戏提供了很高的灵活性。

    35.png

    观察者模式(Observer Design Pattern)


    在游戏中,你的所有类耦合度应该设计的很低。这意味着你的类应该能够彼此交互,且彼此之间应该知道对方尽量少的内容。使得你的类具有低耦合度,使得你的游戏可以??榛土榛钚缘奶砑有碌墓δ?,且不会有意外的错误。

    此模式通常在对象想要向其订阅户(其他类对象)发送消息时实现。对象不需要知道订阅者如何工作,但是他们能相互通信。

    42.png


    组合模式(Composite Design Pattern)


    游戏通常包含许多视图。主视图中显示角色。有一个子视图,显示玩家的积分。有一个子视图,显示游戏中剩下的时间。如果你在移动设备上玩游戏,那么每个按钮都是一个视图。

    可维护性应该是游戏开发过程中的主要关注点。每个视图不应具有不同的函数名称或不同的访问点。相反,你想要为每个视图提供一个统一的访问点,即相同的函数调用应该既能够访问主视图也能够访问子视图。

    这种统一的接入点可以使用复合设计模式。此模式将每个视图放置在树状结构中,从而为每个视图提供统一的访问点。取代了需要用不同的函数来访问不同的子视图,组合模式可以用相同的函数访问任何视图。

    53.png

    模型-视图-控制器模式(Model-View-Controller Design Pattern)

    如果模型-视图-控制器设计模式是一个摇滚乐队,那么它肯定会被称为“披头士”。毫无疑问。它是程序员中最广泛使用和喜欢的设计模式。

    我通过模型视图控制器来介绍设计模式的。但我希望这不会是这样的。我和许多程序员一样,开始学习这个设计模式,但没有意识到这个模式是由三个基本的设计模式组成的。没有意识到这个事情,造成了很多困惑。


    模型-视图-控制器设计模式由三种模式组成:


    策略模式

    观察者样式

    组合模式

    62.png

    如上图所示,策略模式表示MVC中的Controller部分。

    策略模式将用户输入与游戏的逻辑(Model)和接口(View)分离。

    组合设计模式表示应用程序中的所有视图(主窗口和按钮)。此设计模式为模型的所有视图提供统一的访问点。

    观察者模式代表你的应用程序(模型)中的逻辑。通过这种模式,模型能够与视图和控制器进行交互,而不需要知道它们内部细节。这种模式使所有类之间的交互有更低的耦合度。

    ?

    开班信息

    在线咨询

    返回顶部

  • Chinese students stopped from using campus charging stations reserved for foreigners 2019-04-19
  • 皖能集团公司纪委举办第三期纪检监察干部业务培训班 2019-04-19
  • 人民网评:马克思主义照亮了人类解放道路 2019-04-17
  • 全球智慧城市博览会 展现“中国解决方案” 2019-04-17
  • 把握区域经济发展的新特点(信息快递) 2019-04-13
  • 大美邯郸--河北频道--人民网 2019-04-13
  • 《党建评萃——机关基层党建50评》节选15篇 2019-04-12
  • 2018世界杯 竞彩游戏的投注方式 2019-04-09
  • 钱江晚报:地方治污,何以敢频频“欺上” 2019-04-09
  • 科学家尝试用“利器”解密元素起源 2019-04-04
  • “生态+康养” 冰雪康养小镇项目落户沽源 2019-04-03
  • <这里是重庆>首播 带你游山玩水 通晓重庆趣闻 2019-04-02
  • 马布里晒中国绿卡 退役后想再为中国男篮贡献力量 2019-04-02
  • 青春无敌!姆巴佩成代表法国出战世界杯的最年轻球员 2019-03-28
  • 饮料-热门标签-华商生活 2019-03-28