本站文章均为李华明Himi原创,转载务必在明显处注明:(作者新浪微博:@李华明Himi)
转载自【黑米GameDev街区】原文链接:http://www.himigame.com/cocos-creator/1936.html
☞ 点击订阅 ☜本博客最新动态!及时将最新博文通知您!
从今天起,Himi将陆续的会持续更新一些Cocos Creator的文章
一起学习交流的可以加我的QQ群 Cocos Creator :432818031
貌似好久没有来写原创博文了,不知道还有多少认识Himi的~
当然也有不少群里的人问我都在忙什么,这里简单先八卦一下:
去年去了网易一直在做U3D,功夫熊猫的项目,上线后离开网易,现在又在一家创业型公司(不要太在意为什么我总是喜欢创业型公司,可能是我的习惯吧,毕竟这种类型公司能多学习多忙碌~),近期则写写shell 与 Cocoa框架的编辑器和工具。
眼前主要关注的则是CC(Cocos Creator),也是前段时间关注cocos2dx-3.10发布(现在整合为Cocos引擎了),才顺便知道了CC发布了0.7版本。
通过官方文档和宣传视频,了解了,是个类u3d的引擎工具,不得不关注一下。
当然发布到今天也有一周左右了,Himi也简单进行了尝试体验与使用,所以本篇言归正传,简单的介绍下尝鲜后的一些总结和开发时遇到的一些需要注意的细节。
【本文针对当前 <CC 0.7>版本,系统:<Mac>】
第一部分:先来大概的说下体验后的总结,也是大家比较关心的几个问题:
1. 简单介绍下CC
CC 是类u3d的编辑开发工具,不只是界面的相似,开发架构更是像极了u3d,主要关注的cc是组件化、数据驱动、脚本化,其开发语言js的开发一体化也是降低了学习成本。另外更加详细的介绍可以去官网的介绍与宣传视频等http://www.cocos.com/download/creator/
2. 为什么开发脚本语言不是 lua而是js ?
这一点也是刚接触CC我也很郁闷的一点,因为相比较而言我更熟悉lua,但是通过官方的介绍和详细说明,大概也理解了一些其主要原因:
a) 用js为了让开发一体化
b) 各大科技公司都在重用js,而lua则被冷落发展缓慢。
3. CC 现在可以用于开发项目么?
保守来说尽量不要直接用于公司的项目中,主要原因如下:
a) 当前版本可以说是个体验版,存在很多不可预见的问题
b) 很多组件不完善且缺少(例如没有keyboard等组件支持)
c) 过多的 bug 无法避免,也无法及时解决(因为没有全部开源)
如果以上3点如果你能接受,OK ,开发个简单游戏还是可以的~ 祝小白鼠好运。
Himi觉得至少还需要等1~2个版本。
4. CC 便捷、好用么?
Himi因为接触开发过u3d项目,所以接触到cc,觉得很顺手,至少大部分都是很熟悉的,不论界面还是组件操作等。
组件化、数据驱动的开发架构能让美术、策划、程序部门之间配合的更默契! 绝对效率~不吹不黑。
另一方面,我认为也挺重要的一点是,运行与调试都是基于web的,这一点可以让策划、美术以及测试等部门,第一时间了解、测试 项目最新效果。降低各部门沟通成本,节省开发周期。
当然好用不好用也取决于公司引擎的选型,以及跟项目有关的。毕竟最合适的才是最好的。切勿盲目跟随,但确实推荐~
第二部分:开发需注意的几点细节
近几天一直在测试使用cc中已提供的所有组件,其中有几点需要注意的细节,下面一一道来:
1. 有的童鞋刚装好cc就想测试新建项目进行打包到各平台尝鲜,发现无法编译成功。主要原因是文档看的不仔细,造成配置路径错误。
官方文档如下图所示:
值得注意的是:
sdk 与 ndk 的路径是根目录,
console 与 ant 路径都是指向到bin路径下!
2. mac版本的cc,虽然能很方便的添加节点、动作的“帧”、“曲线”等,但是无法delete快捷键删除,而是使用command+delete进行快捷删除。
3. cc 开发的打印语句,注意千万不要在cc工具中的“控制台”里查看,因为项目运行后是运行在web上的,所以程序的打印也都是在web浏览器的开发者控制台里,Himi就犯了这种错误,虽然低级,但是我想也会有不少童鞋跟我一样习惯看开发工具的控制台,最终什么都看不到 -。 –
4. 当前动画中插入事件回调,是有不必现的bug。我与一个cc交流群的群友进行测试在帧动画最后添加一个动画事件,运行结果只是回调了一遍。当把这个动画时间的位置不放在帧动画的末尾而是靠前一些,则正常。(此bug已反馈,官方回复称帧动画回调会在特定的情况下有BUG)
5.widget对其组件的小细节,先看下图:
6. 关于组件精灵(sprite)与对其挂件(Widget)
有看到新童鞋有问,为什么他不能在勾选sprite精灵组件的Use Original Size 属性,其实原因是因为:
1.精灵的宽不是原尺寸,且对齐方式为左右对齐
2. 精灵的高不是原尺寸,且对齐方式为上下对齐
3. 精灵的高/高不是原尺寸,且对齐方式为上下对齐且左右也对齐
满足如上三点你的sprite精灵组件的Use Original Size 属性 肯定是无法勾选的了。
有些童鞋不理解,这里简单解释下:
widget 组件当同时开启进行左右或上下对齐方式后,会随着运行到不同分辨率尺寸终端时,自动根据设置的对齐方式进行对精灵组件缩放或拉伸(左对齐并右对齐等情况),此时精灵组件的尺寸是会动态改变的,而Use Original Size属性是限制当前节点的尺寸强行为精灵的尺寸大小!因此Use Original Size是不可勾选的,否则两者条件冲突。