作者: 游氏手游网 发布时间: 2024-11-06 19:47
最近朋友所在的公司,开始都改用 cocos creator,之前他们用的layalaya 和白鹭上手感受差不多都不算难, 只是他们不少人之前用过2DX开发 换引擎不算什么大事只是试水 先用laya试试,对未来开发考虑 也许可以选择cocos
非cocos的cocos 2d-js版本莫属啊,cocos引擎早在2012年就在谷歌赞助下发布了其cocos版本,后于2014年初对cocos引擎和原生引擎进行整合,令开发者可直接使用JavaScript语言开发游戏,并无缝导出到手机原生和cocos两种平台。
开发环境vs2010,再去官网下cocos2dx的压缩包,解压出来,把里面的模板安装下就可以开始开发了 推荐买书看,《cocos2dx权威指南》之类的现在有挺多的
开发环境vs2010,再去官网下cocos2dx的压缩包,解压出来,把里面的模板安装下就可以开始开发了 推荐买书看,《cocos2dx权威指南》之类的现在有挺多的
要导出c++类到lua,就得手动维护pkg文件,那简直就是噩梦,3.0以后就会感觉生活很轻松了。
下面我就在说下具体做法。
1、安装必要的库和工具包,以及配置相关环境变量,请按照cocos2d-x-3.0rc0toolstoluaREADME.mdown说得去做,不做赘述。
2、写c++类(我测试用的是cocos2d-x-3.0rc0testslua-empty-testprojectClassesHelloWorldScene.cpp)
3、写一个生成的python脚本,你不会写,没关系,我们会照猫画虎
1)进入目录cocos2d-x-3.0rc0toolstolua,复制一份genbindings.py,命名为genbindings_myclass.py
2)把生成目录制定到咱工程里去,打开genbindings_myclass.py把
?
1
output_dir='%s/cocos/scripting/lua-bindings/auto'%project_root
改成
?
1
output_dir='%s/tests/lua-empty-test/project/Classes/auto'%project_root
3)修改命令参数,把
?
1
2
3
4
5
6
7
cmd_args={'cocos2dx.ini':('cocos2d-x','lua_cocos2dx_auto'),
'cocos2dx_extension.ini':('cocos2dx_extension','lua_cocos2dx_extension_auto'),
'cocos2dx_ui.ini':('cocos2dx_ui','lua_cocos2dx_ui_auto'),
'cocos2dx_studio.ini':('cocos2dx_studio','lua_cocos2dx_studio_auto'),
'cocos2dx_spine.ini':('cocos2dx_spine','lua_cocos2dx_spine_auto'),
'cocos2dx_physics.ini':('cocos2dx_physics','lua_cocos2dx_physics_auto'),
}
改成
?
1
cmd_args={'myclass.ini':('myclass','lua_myclass_auto')}
4)这时你可能问myclass.ini在哪啊,我们下来就写这个文件。原理一样,我还是照猫画虎,拿cocos2dx_spine.ini改的。
?
因为题主已经是学过编程的人了,我假定你对编程已经有所了解,那么如果要使用Cocos2d-x去做游戏的话,你需要了解的C++知识有:
C++的编译,链接过程,避免在游戏发布时遇到许多的坑
C++的面向对象编程思想,如多态,集成,重载等等
C++的函数指针思想,Cocos2d-x的许多事件机制中使用到了C++的函数指针
C++中如何使用各种强制转型,如dynamic cast,static cast的用法和区别
C++中如何进行垃圾回收
如果你要使用最新的Cocos2d-x 3.0的话,你还需要了解C++11引入了那些新特性。因为官网的sample代码在3.0中已经全面转向C++11的风格了!然后,你需要了解Cocos2d-x本身这个框架的知识:游戏中的Scene,Director,Layer分别都代表什么?
可以参考我的这篇博文:【Cocos2d-x-基础概念】Director Scene Layer and Sprite
游戏中如何进行文件的读取如何进行?主要集中在CCFileUtils这几个类。
坑文在这:【Cocos2d-x基础概念】CCFileUtils-fullPathFromName
游戏中的动画和回调是怎么回事?主要集中在CCAction,CCCallback以及它们的子类
在这之外,你还需要了解的东西其实更多是有关游戏领域内的一些知识了,比如:如何有效进行游戏内部状态机的构建
如果选取游戏架构,MVC还是Component-based的动态兑现模型
这方面我有一篇文章:【深入Cocos2d-x】使用MVC架构搭建游戏Four
AI算法:如A*算法,极大极小算法等等
网络的知识:如何将数据进行有效的传输
游戏引擎是游戏开发中至关重要的工具之一,它提供了开发人员创建游戏所需的基本框架和功能。在众多游戏引擎中,Unity与Cocos2d 等引擎备受开发者青睐。
Unity 是一款功能强大的跨平台游戏引擎,提供了丰富的开发工具和资源,使开发者能够轻松创建高质量的游戏作品。其灵活性和易用性使其成为业内领先的游戏开发引擎之一。
Cocos2d 是另一款备受好评的游戏引擎,特别适合2D游戏的开发。其简单易学的特点吸引了许多开发者选择使用它来开发手机游戏和小型游戏项目。
决定选择哪款游戏引擎取决于您的项目需求和个人偏好。如果您的项目需要制作复杂、高质量的3D游戏,Unity可能更适合您;如果您偏爱二维游戏开发,Cocos2d将是不错的选择。
无论您选择哪款游戏引擎,都可以通过学习相应的文档和教程来提升开发技能,创作出引人入胜的游戏作品。希望您能根据个人需求,选择一款适合自己的游戏引擎,开发出令人惊艳的游戏作品!
科科斯群岛(Cocos Islands)又名基林群岛(Keeling Islands),是澳大利亚在印度洋上的海外领地,群岛共有596名岛民,面积共14.2平方公里,由27个珊瑚岛组成。
pygame在PC上写小游戏非常方便,可能几十行代码就可以实现一个简单的小游戏,使用pygame编写贪吃蛇、俄罗斯放开、连连看等小游戏很简单,有Python基础,可能半天就可以完成了!