曾经 我们雄心壮志,曾经 我们慷慨激昂,曾经 我们豪情满天涯。

曾经我们一起策划玩法,寻找背景题材,编写代码,幻想没有的更新。此刻由最后的孤狼把仅有成果分享给大伙。

所谓的玩法,背景,每个游戏都与众不同,惟独技术是永恒的,就拿游戏中的技术来看吧!

游戏源码放在Github上,有兴趣点些查看 MyGame

游戏策划时想到要用模块开发来分配工作,于是就了有下面这张图:

看图中模块分得为比较清晰,注释中的包含关系其实就是 addChild添加的子节点,信息传递当初想的用引擎的通知中心(NotificationCenter)分发消息。

后来在开发中 管理中心 设计成保有其他模块的引用,在其他模块设计一些接口就可以不必依赖通知中心来传递信息了,管理中心本身在场景中创建,并非单例,这样一来,图中管理中心那块就不在是纯粹的信息传递了,有了包含关系,形成了你中有我,我中有你的局面。现在觉得还有点别扭,不仔细分析,还搞不清楚情况,不知是对是错呀!

游戏虽然半路夭折,但各部分还有点代码:资源层, 有用 tinyxml2 读取XML 的代码;逻辑层, 处理了线段相交的问题; 背景层 用DrawNode画的。还是有点墨水的,以后有什么收获也放到这里,收藏起来,要是起死回生~~ 万一有这个万一。

彼时不同此时,此刻迎接未来。

My Game --简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  10. 1.Hibernate简介

    1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...

随机推荐

  1. jsp:中文乱码解决

    说明:request乱码指的是:浏览器向服务器发送的请求参数中包含中文字符,服务器获取到的请求参数的值是乱码: response乱码指的是:服务器向浏览器发送的数据包含中文字符,浏览器中显示的是乱码: ...

  2. PhoneGap中navigator.notification.confirm的用法详解

    navigator.notification.confirm('您确定要退出程序吗?', showConfirm, '退出程序', '确定,取消'); function showConfirm(but ...

  3. MySql5.7.12设置log-bin

    什么是binlog日志 binlog日志记录了MySql数据库的增加.删除.修改操作.用来实现MySql主从复制. 设置binlog日志 在my.cnf中配置binlog日志 [mysqld] log ...

  4. PHP composer 安装流程

    打开php的openssl扩展 可以在wamp管理器里直接打开openssl扩展,也可以使用php命令打开扩展,还可以通过修改php.ini后重启打开扩展. 下面给出命令打开扩展的示例: 可以通过以下 ...

  5. 从头开始一步一步实现EF6+Autofac+MVC5+Bootstarp极简前后台ajax表格展示及分页(二)前端修改、添加表格行点击弹出模态框

    在前一篇中,由于不懂jquery,前端做的太差了,今天做稍做修改,增加一个跳转到指定页面功能,表格行点击样式变化.并且在表格中加入bootstarp的按钮组,按钮点击后弹出模态框,须修改common, ...

  6. case while for

    #!/bin/bash#create by howhy 20161214#mysql server start stop restart. /etc/init.d/functionsmysqldir= ...

  7. innodb的表最大限制

    相信大多数人都不知道,innodb的表最大限制为64TB,但是why? Each space is divided into pages, normally 16 kib each (this can ...

  8. query判断值是否为空,针对前台提交数据的校验

    1.<input type="hidden" id="key" name="key" value="123"> ...

  9. 富文本常用封装(NSAttributedString浅析)

    最近经常遇到关于富文本的一些需求,特此封装了几个最常用的API分享给大家,但授之以鱼不如授之以渔,接下来会顺便谈谈NSAttributedString,确保你读了本篇文章能够自己封装关于富文本的API ...

  10. Linux sticky bit 目录权限 rwt权限

    [linux权限分为 user group others三组] 今天看到有个目录的权限是rwxrwxrwt 很惊讶这个t是什么,怎么不是x或者-呢?搜了下发现: 这个t代表是所谓的sticky bit ...