之前我们已经能够创建HelloWorld文件了,如果忘了,下面我再讲一下。
一:创建HelloWorld文件:
1:打开命令提示符
2:输入
“cocos new HelloWorld -p nvjing.com -l cpp -d G:”
HelloWorld 是项目名称,-p后面的是包名,-l后面是语言(C++),-d 后面是项目生成路径
3:创建完成
4:在你生成路径下找到HelloWorld文件夹
5:打开
6:打开
7:右键“”解决方案“->“生成解决方案”
8:去吃个午饭回来,等它编译完成
二:认识HelloWorld中的静态库
以下的都是静态库
libbox2d是一个强大的开源物理游戏引擎,用来模拟2D刚体物体运动和碰撞的C++引擎。
libbullet是一个开源的物理模拟计算引擎,用来复杂的物理模拟计算。
libcocos2d是一个基于MIT(开源软件许可协议)协议的开源框架,用于构建游戏、应用程序和其他图形界面交互应用。
librecast是一个开源的寻路引擎,将场景网格模型生成用于寻路的网格模型。
libSpine是一款针对游戏开发的 2D 骨骼动画编辑工具。
三:开始前的基础知识
为了能够使游戏跨平台上运行,就需要选择相应的底层渲染技术。
(1)主流的两种渲染技术。
1:OpenGL(Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。
2: DirectX是一种应用程序接口,它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音效果。
总结两者区别:
1:OpenGL是Silicon Graphics Incorporated(SGI公司)的;DirectX是微软的。
2:OpenGL只是图形函数库;DirectX包含图形, 声音, 输入,网络等模块。
4:单就图形而论, DirectX的图形库性能不如 OpenGL。
5:OpenGL稳定,可跨平台使用,但OpenGL 多需要显卡支持;DirectX在微软类平台上使用,属于软件支持。
(2)认识游戏引擎
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。
三种主流游戏引擎
1:HTML5:主要用于网页游戏的开发。游戏不需要复杂的动画效果,并且对于游戏的实时性能没有非常高的要求,可以考虑这种游戏开发模式。
2:Unity 3D:主要用于3D游戏开发。三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。
3:Cocos2dx:主要用于2D游戏开发。是一个开源免费、易学易用的2D跨平台游戏引擎,目前是国内最流行的2D游戏引擎。
(3)游戏和图形开发中常用的坐标系
1:屏幕坐标系:(图片来源)
http://blog.youkuaiyun.com/songjinshi/article/details/7215104
2:OpenGL坐标系:
3:世界坐标系:
4:本地坐标系:(图片来源)
即物体本身为坐标系统。
5:物体坐标系:
以物体为中心坐标,
分“前” “后” “左” “右”,即相对物体的方向形成的坐标系。
(4)Cocos2dx中的基础概念介绍
导演 场景 层 精灵
Director Scene Layer Sprite
1:导演负责把控全场,发命令,执行所有的场景切换工作。如同电影导演决定在哪里拍摄
2:场景游戏中的关卡就是一个场景。如同电影拍摄时选择在哪个场地进行
3:层就是不同的平面图层。如同看电影时,电影录像是一个层,字幕一个层,选择中英文字幕并不会影响电影这个层。
4:精灵是层中的个体对象。如同电影中各个人物是不同的精灵对象,背景等元素也是精灵对象
一个导演同一时间只能运行一个场景,而一个场景同时可以增加多个层,一个层同时可以增加多个精灵对象