cocos官网(cocos官网论坛)

http://www.itjxue.com  2023-02-20 04:12  来源:未知  点击次数: 

Mac版cocostudio创建完整项目时提示安装cocos Framework问题

我的问题已经解决了 ,在Android.mk里面加入头文件路径

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/editor-support/cocostudio

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/cocos/ui

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions

CocosCreator初体验

机缘巧合,最近接到关于游戏的需求,前后调研了一下Unity3D和CocosCreator,但是考虑到是作为项目的一部分而使用,并且局限于Unity3D的使用条款,为了避免法律问题,最后选择的是使用CocosCreator来实现。第一次接触Unity3D和CocosCreator这类的游戏引擎,大约用了一个月的时间,从学习到项目大部分完成,之后要打包成静态库供其他客户端的同事们使用。学习途径主要是CocosCreator官网文档和官方Demo(看中文的文档就是爽!!!)。本片文章的目的主要是记录一下过程中遇到的问题及解决方案,并不是完整的教程。

本次要做的是一个最简单的跑酷类游戏,无需使用Tiled(地图编辑器),spine(骨骼动画编辑器)。也是做了这个小游戏才发现游戏其实已经发展的很成熟了。

我们可以看到,元素很简单,背景主要有远景、中景,通过设置不同的速度来实现现实中跑动的效果。主要的逻辑实现部分是在前景的任务和障碍物。由于没有使用物理引擎,所以是直接使用CocosCreator的碰撞检测实现的。主人公可以跳跃越过障碍物,撞开障碍物,收集金币。按住屏幕,hero跳起,按的时间长一些,主人公的跳跃也会高一些,自然一些的话还是需要简单的物理公式的。正常情况下hero是在x轴上是没有速度的,一种情况是当障碍物挡住hero时会有一个和障碍物同样的速度模拟阻挡的效果,还有一种情况是阻挡产生之后hero产生了位置上的移动,需要一个速度回到原位置。由于CocosCreator提供了碰撞检测之后的回调函数,所以我们可以很轻松的在回调中做一些相关操作,比如让碰到的金币消失之类的。

有位同事做过cocos2d-x的开发,使用的c++,向他请教了一些基础了知识,但是细节上跟cocosCreator相差恨远,因为cocosCreator是用cocos2d-js框架并配合可视化的编辑器来实现的。由于是先调研的Unity3D,对这种脚本的方式还是比较能够接受的。其核心思想是在组件,在编辑器中制作精灵和动画,然后通过脚本组件来控制其逻辑实现,各种功能都组件化,当我们需要给精灵添加一个功能的时候,就是向其添加一个组件。在这个小游戏的制作过程中用的组件的数量也是有限的,主要是使用了:

编辑器给我们提供了方便的拖拽界面,直接将我们需要使用的图片导入,就会自动生成精灵文件(但是用过Unity3D之后,还是感觉Unity3D的功能集成度更高一些,而且还可以做3D)。

在编写脚本的时候也是不能脱离编辑器的,在编写脚本的时候着实是让我这个ios程序员有点摸不到头脑了,JS的使用方式有点让我不太适应,没有了xcode的提示功能,写起来还是有些费劲的。JS也是边学边写,不过得益于官方的Demo几乎把所有组件都写了一遍,所以就照着葫芦画瓢。写的时候就发现,其实引擎并没有帮我们做很多的工作(Unity3D可以直接在编辑器里设置物理属性,不过听说下个版本的CocosCreator也会有)。在编写脚本的过程中,最复杂的就是hero脚本的编写,需要检测碰撞和处理hero跳跃过程中的不同状态。碰撞检测的话需要自己计算碰撞发生的位置,当做矩形碰撞器来处理的,只计算x轴和y轴的碰撞。x轴发生碰撞的话,hero有一个和障碍物一样的速度,y轴碰撞一直持续的话就是调整hero的y轴的位置,让其在障碍物的顶部。跳跃的过程中完成动画的切换。

与CocosCreator编辑器不同的是,这个编辑器是我写的一个生成障碍物的一个app,可以方便让产品配置障碍物的位置。主要的实现思路是使用UICollectionView,界面非常的简单,主要是配合CocosCreator脚本的实现,需要将颗粒状的障碍物连成一个长的条状,所以需要将界上的障碍物颗粒结构化一下,取到障碍物的最底部的颗粒的位置,然后连接在一起的高度,这样的话就是对每一列的统一种类的障碍物进行深度优先搜索,记录最低点和搜索过的深度,这样的生成的JSON文件在CoCosCreator脚本里就可以直接使用了。

刚在官网下载的Cocos2d-x,求教怎么打开的说 ==

这个只是引擎,你需要先设置好环境变量(就是你下载里面有个setup.py这个脚本,这个运行需要安装python,一定是2.x版本的),然后配置好后命令行创建一个游戏工程(cocos new 工程名称 -l 语言 -p 包名)。

不过这样写你肯定看不明白,最好还是看下官方的文档吧有安装教程的。

Cocos Creator大量使用龙骨动画的性能优化

以下讲的是Cocos Creator v2.3.2版本的情况:

根据DragonBones属性:

主要修改的就是【Animation Cache Mode】和【Enable Batch】两个属性。

当界面需要同屏显示多个(3个及以上)的龙骨对象时,选择【Animation Cache Mode】为SHARED_CACHE 模式,勾选【Enable Batch】,会明显改善游戏流畅度(小游戏尤为明显)。

注意:龙骨动画回调

此时_event为空,this.animState也为空,不能用this.animState.stop();来控制动画,可以用this.dragonBones_xxx.timeScale = 0;来暂停/停止动画,用this.dragonBones_xxx.timeScale = 1;来继续播放动画。

最后,也是最重要的,Cocos Creator v2.3.2版本的apk包会有闪退的问题,换成Cocos Creator v2.4.3 beta2及以上版本就可以了,但是!!!这里又有个大问题,关于小游戏的子包的,因为Cocos Creator新版本使用新的资源管理:Asset Bundle,看下官网介绍:

也就是说小游戏的子包的使用方式已经变了,需要调整下。

cocoscreator怎么接入anysdk framework

由于目前 AnySDK for Creator 的插件尚未发布,需要从 官网 下载独立的 AnySDK 客户端来进行创建游戏和打包。登陆 AnySDK 客户端,创建新游戏,得到三个参数。

关于 AnySDK 客户端更多的介绍可以参考 客户端使用手册。

服务端接入

如果游戏接入用户和支付的话,需要游戏服务端处理登陆验证和支付验签相关逻辑,参考以下两篇文档进行接入。

统一登陆验证

订单支付通知

客户端接入

构建项目

点击菜单 项目 - 构建发布,在该界面构建出 Cosos工 程,构建出来的 Cosos 工程已经自动集成好了 AnySDK。

调用初始化接口

用户无需手动调用初始化接口,需使用构建出的 Cocos 工程中 frameworks/runtime-src/Classes/SDKManager.cpp 的 loadAllPlugins 方法 init方法,传递 appKey、appSecret、privateKey、oauthLoginServer

(责任编辑:IT教学网)

更多
上一篇:没有了

推荐PHP+MySQL视频文章