cocos2d-x 游戏开发之有限状态机(FSM) (三) 有限状态机简称FSM,现在我们创建一个专门的FSM类,负责管理对象(Monkey)的状态.然后Monkey类就实现了行为与状态分离.Monkey类只负责自己的行为,MonkeyFSM作为Monkey的成员,负责状态调度.MonkeyFSM调用状态模式类的方法,状态模式类调用真实对象Monkey的方法.注意本文例子代码只是为了说明问题,并不能真正用于实际当中.其中Monkey与MonkeyFSM互相保存对方的指针,存在循环引用问题.…
cocos2d-x 游戏开发之有限状态机(FSM) (一) 参考:http://blog.csdn.net/mgphuang/article/details/5845252<Cocos2d-x游戏开发之旅>(钟迪龙)基本上所有的软件都是有限状态机(finite-state machine,FSM).它是一个有向图,由一组节点和一组相应的转移函数组成.通俗点讲,它是一个事件驱动系统的模型,这个模型由有限数目的状态,若干输入和状态与状态之间转换的规则组成.在某一时刻,有一个或一组状态是FSM的当前…
cocos2d-x 游戏开发之有限状态机(FSM) (四) 虽然我们了解了FSM,并且可以写自己的FSM,但是有更好的工具帮我们完成这个繁琐的工作.SMC(http://smc.sourceforge.net/)就是这样的工具.下载地址: http://sourceforge.net/projects/smc/files/latest/download 在bin下面的Smc.jar是用于生成状态类的命令行工具.使用如下命令: $ java -jar Smc.jar Monkey.sm 1 真实世…
cocos2d-x 游戏开发之有限状态机(FSM)  (二) 1 状态模式…
2013是游戏爆发的一年,手游用户也是飞速暴增.虽然自己不做游戏,但也是时刻了解手机应用开发的新动向.看到CSDN的"写书评得技术图书赢下载分"活动,就申请了一本<iOS cocos2d 2游戏开发实战(第3版) >.由于时间的关系,没有仔细读完全部内容,翻看了几章,书的内容还是不错的,说真的.书的原作者是Steffen Itterheim 可以在http://www.learn-cocos2d.com/ 了解他. <iOS cocos2d 2游戏开发实战(第3版)…
在不同的阶段,游戏所运行的逻辑.所显示的界面,都是不同的. 以五子棋举例,游戏开始.游戏中.胜负已分,对应的界面和逻辑都不同. 在游戏中,又分为:自己下棋.对方下棋.游戏暂停.悔棋等多个状态. 再比如RPG游戏的人物,站立.行走.奔跑.攻击.死亡都是不同的动画, 发出一颗子弹,从出现,到往前运动.打到目标,或飞出屏幕,都是不同逻辑. 怎么实现这些效果呢? 程序里设定不同的状态,当前是什么状态,就执行什么逻辑. 这个就叫做:有限状态机! 是不是很简单,不要小瞧它,复杂的游戏功能都是靠它实现的. 接…
自上一章公布到如今已时隔四月,实在对不住大家.让大家久等了~话说不是我不关注我的博客,而是事情一多起来写博客的时间就少了. 待到今日有空了,回头看了看自己曾经写的文章,猛得发现已经四个月不曾写文章了.便仅仅得叫声:"苦也~",我害怕本系列文章会拖得更久,于是立马提笔,也好为本系列文章留个凤尾. 首先,大家来温习一下前面两篇里的内容吧: HTML5物理游戏开发 - 越野山地自行车(二)创建一辆可操控的自行车 http://blog.csdn.net/yorhomwang/article/…
一.引子 在游戏开发中,我们少不了和数据打交道,数据的存储格式可谓是百花齐放,xml.json.csv.bin等等应有尽有.在这其中Json以其小巧轻便.可读性强.兼容性好等优点受到广大程序员的喜爱.目前市面上有许多针对Json类型数据的序列化与反序列化库,比如Newtonsoft.Json.LitJson.SimpleJson.MiniJson等等,在这之中马三比较钟意于LitJson,其源码规模适中.代码规范可读性好.跨平台能力强.解析速度快,但是美中不足的是LitJson对float(官方…
提要 在Unity工作流程内,地形是一个必不可少的重要元素.不论是游戏或虚拟现实都会使用到各种类型的地形效果,在这个教学中我们须要了解到地形的制作基本概念与,当中对于Unity的地形操作部分须要大量的操作练习.熟悉这些功能操作之后,相信对于游戏地形的制作与运用将会更得心应手. 先看终于效果: 环境:windows7 64bit Unity3d4.2.1 所需资源:terrain.raw 创建project File  ->  New project 选择project存放的位置,同一时候导入 S…
变换 学习目标 理解如何使用矩阵表示线性变换和仿射变换 学习对几何体进行缩放.旋转和平移的坐标变换 根据矩阵之间的乘法运算性质,将多个变换矩阵合并为一个单独的净变换矩阵 找寻不同坐标系之间的坐标转换方法,并利用矩阵来表示此坐标变换 熟悉DirectXMath库中专门为构建变换矩阵所提供的相关函数 3.1线性变换 3.1.1定义 如果有一个函数t可以使 t(u + v) = t(u) + t(v) t(ku) = tk(u) 成立,则函数t称为线性函数,也称为线性变换.其中u和v为3D向量,k为标…