Cocos2d-Html5--打怪升级之路

自己正式开始使用cocos2d-html5是在今年的2月份,虽然只是在少量的业余时间使用,不过就时间上来说也要半年多了~
之前就一直很关注这个分支,原因很简单,大学的时候,就一直很想学一些浏览器相关的前端技术 — html,css,js,jquery之类的,但每次都是看了《XXX入门教程》的第一个例子 — 做一个注册登录页面 — 就没兴趣在学下去了 ~
于是就又回研究室搞C++,MFC和图像处理去了 ~
所以cocos2d-html5让自己又看到了希望,因为之前一直用cocos2d-iphone版,期间-x,-python,-javascript (很久以前旧的那个) 也都用过,所以对整套API是非常熟悉的,所以cocos2d-html5的上手可以说是毫无障碍 ~
自己的框架学习习惯就是先大概熟悉下语言(30%就够了),然后是API(10%就够了),然后赶紧开始刷项目练级,在实践中把语言和API的熟练度提升上去 ~
刚开始当然是最简单的,刷了几个简单的UI控件小怪,或是效果,像是cclabelTTF的简单特效:
接着是一个Timeline的控件:
到此为止差不多大致熟悉了JS语言和框架API与-iphone或-x版的些微差异 ~ 升级到LV5 ~
接着继续刷UI控件小怪,写了个相对复杂的日历控件:
这个东西做完以后,基本上对cocos2d最基础的核心cclayer,CCSprite,CCAction之类的使用和扩展都有了完整的掌握 ~ 升级到LV8 ~
在这之前的项目,都是用记事本notepad++ (win) / textmate (mac) 来开发,靠cc.log来进行调试的 — 标准的不穿装备全裸练级 ~
当然这个对于刚开始起步是好事情,自己是反对刚接触就搞个牛X的IDE,补全提示功能齐全,这不利于熟悉API,有些时候自动补全,提示玩过头了就导致只是把参数填一下就了事,联函数名都不知道,只知道是cc.xxxxxxx ~
不过既然等级已经到一定程度了,那就该买装备了,于是开始四处找装备,最后确定了WebStrom IDE + MAMP的组合,试用下来也确实是相当不错,开发效率提高了而且调试也轻松多了 ~
于是,就开始考虑去刷高级怪练级,开始难度高的挑战,最终选取的目标,就是把自己2年前做的一个棋牌小游戏从cocos2d-iphone移植到cocos2d-html5,然后在发布到微博和Facebook上面去 ~
这个在当时来说可以算是刷LV30级的Boss,首先这是一个完整的游戏,不是刷个简单的UI控件小怪所能比拟的,再加上后期的平台对接部署这个就脱离了cocos2d-html5的范畴,需要各种浏览器前端知识的支撑 ~
虽然目标很高也很难达到,过程也很曲折,但是在一群NPC — gooole,yahoo.ip,baidu,stackoverflow,各种博客文章 – 的帮助下,总算顺利拿下Boss,虽然并不完美(微博至今不批准审核,连个详细的原因也没有) ~
另外在刷怪成功的同时还顺便将心得做了整理:
这一战可以说是能力全面大幅提升,首先对cocos2d-html5和-iphone分支的区别有了更深的认识;其次JS语言的熟悉度也提升了不止一个档次;再接着cocosbuilder的联合使用也有了掌握;最后还有cocos2d范畴之外的,应用部署,发布的经验和html,css基础知识的掌握 ~ 一口气飙到LV40 ~
游戏做完了,稍作休息,开始寻找下一个目标,毫无疑问cocos2d是个游戏引擎,但是谁说它只能做游呢?
至少cocos2d-html5分支,我看到的是后面的”-html5″ — 这是一个浏览器的窗口,不仅仅是移动平台,是通过浏览器面向世界的窗口 ~
于是下一个挑战的目标, 决定是一个怪是service类的新闻应用,使用cocos2d-html5 + python的架构 ~
说实话这次应用的客户端前端UI之类的完全是没难度,配合cocosbuilder轻松愉快的完成了,难点在于后台的服务器架构实现,再加上通过cocos2d-html5和后台服务器的交互(这里只是http的,没有socket) ~ 完成度不是很高,小升至LV45 ~
应用小怪刷完了,还有什么可能性呢? 这时候想到的,是HTML5的在线简历,一方面自己整理简历中,另一方面想到以前看到的一些不错的HTML5在线简历,很是羡慕,至少比普通的pdf cv要有吸引力多了,而且在一定程度上也是能力的证明 — 至少制作者有这个想法,而且付诸实施,并且实现了 ~
于是就决定刷CV小怪,这个当然也没什么压力,轻松小升至48级 ~
到这里为止,已经用cocos2d-html5做了很多东西,而且是不仅限于游戏范畴的东西,其中最大的一个体会,首先是语言上带来的便利性,对于JS这类动态语言来说相比C++或者OC,在学习难度和使用复杂度上是有绝对的优势的,再加上项目调试的方便快捷,现在的浏览器的内置debugger都是很强大的,项目修改后只要ctrl+s一下马上就生效,不用反复的编译连接安装运行~
那么这种优势,怎么能够把它延伸到移动平台上呢,这时候出现了野生的 — JSBinding ~
虽说是JSB,但是实际上最大的对手是SpiderMonkey,如果能把SpiderMonkey搞定,掌握C++和JS的交互方法,那么JSB也就拿下了 ~
当然还是老规矩,先翻翻文档,然后就是动手上项目,把之前的几个cocos2d-html5做的UI控件拿来做样品,试着在cocos2d-x中来进行交互调用 ~ 过程还是挺曲折的,不过最终还是搞定 ~ LV.50达成 :)
同样顺便整理了下心得(虽然还没完成):
捕获了JSB这个强力的帮手后,自己的第一反应就是 — 之前看来已经走到头的cocos2d-html5的路,又再次延伸下去了 — 因为JSB的存在,使得JS和C++这两个世界得以交互,那就意味着JS世界中的一些好动西完全有可能拿到C++来用 ~
首先的想法自然是数不胜数的JS特效,JS插件,以前就一直很羡慕,原因很简单 — 它们都很炫,都很实用,而且自己看不懂也做不到 – 但是现在不一样了,首先因为cocos2d-html5的帮助,自己已经对JS有了相当的熟悉;其次因为JSB的存在,一些JS插件甚至可以直接拿来在cocos2d-x中使用,即使不能直接用,也一定可以拿来参考并做到cocos2d-html5的实现 ~ 于是就有了下面的各种尝试 ~
以前就很喜欢的手写识别,可以自定义任何复杂的手势:
一个cocos2d的CLI命令行,可以支持游戏运行时的日志输出,逻辑控制,而且可以JSB后在cocos2dx中使用:
至此,LV.60达成 ~
到这里为止,做了不少的项目,于是就有了建一个专门的网页的想法,最自己而言这在以前是做不到的,但是现在有了cocos2d-html5 + cocosbuilder,网页小怪轻松搞定 ~
至此,LV.62达成 ~
到这里对于cocos2d-html5的使用感觉已经是到了80%熟练的成都了,这一点也得到了证实,最近的一道面试题,要求做一个变则三消游戏,听完需求,直接cocos2-html5 + sublime text + chrome 做起,大约三天左右的时间(当然只是业余时间),完成到了一个可以发布的程度 ~ 再花半天的时间完成微博和FB的接入和提交申请(其实80%的时间花在整理素材填写app内容上) ~ 再花半天的时间完成JSB,结合cocos2d-x 可以在ios设备上流畅运行 ~
至此,算是对所掌握的东西的巩固,LV.65达成 ~
灵感总是突如其来的,就在前两天看到了raphaeljs库,一个可以绘制svg矢量图形的,在前端世界大名鼎鼎的JS库,对于崇尚“极简游戏”的我来说,这个当然得拿下,可以不用准备图片,直接svg path生成图形,那当然是再好不过了 ~
于是就有了下面的小老虎(虽然再试还没做优化,性能还比较低):
至此,LV.70达成 ~
回头看看这条练级之路,自己觉得是走的相当精彩,相当愉快的,因为这不是枯燥的练级 ~
对我而言,cocos2d-html5这条路还会继续走下去 ~ 只要一个灵感,一个目标,就算在困难,也一定能到达(实在不行就靠NPC们的帮助了,呵呵) ~
最后要感谢一下cocos2d-html5,让我真正进入了曾经一直想要进入的世界 ~ 对我而言,这个分支不仅仅是的游戏引擎那么简单,它意味着更多 — 那就是视野的开阔,这个极其重要,原来自己相当于是局限在c++/oc和移动平台上,但是通过cocos2d-html5 + JSB 这个范围被无限制的扩大,思维的范围也被扩大,遇到问题时的解决方案搜索空间也就变得更广 ~
现在LV.70 ~ 我想还会继续的 (貌似满级是Lv.999 ) ~
PS:
1.文章里提到的项目基本都开源并上传github了,有兴趣请戳: https://github.com/supersuraccoon/
2.个人建立的CocosLab,有兴趣请戳: http://www.supersuraccoon-cocos2d.com/CocosJSBLab/CocosJSBLab-HTML5/
3.给同样想开始cocos2d-html5之旅的朋友说几句
. cocos2d-html5真的不难
. 自己是JS零基础,前段零基础起步,现在Lv.70,所以你也可以
. 稍微看看看文档,看几篇号的博客教程,然后就开始刷怪练级吧
. cocos2d-html5对于环境硬件要求极低,所以刚开始不要拘泥于什么装备
. 不要眼高手低,觉得这怪等级太低,刷了没意义 ~ 其实你未必能赢 ~
. 初期问题多很正常,在求助真人前,至少找过5个以上NPC,这年头NPC都很强的,呵呵
. 小怪刷几个后,有了一定的经验等级,就可以买点装备,然后刷大怪了
. 可以尝试做个小游戏,但是一定要功能完整
. 尝试部署接入各大平台
. 尝试JSB然后在移动平台运行
. 祝打怪升级愉快 :)
原帖地址: http://www.cocoachina.com/bbs/read.php?tid=152420


Cocos2d-Html5--打怪升级之路的更多相关文章

  1. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  3. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  4. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

  5. HTML5实现直播间评论滚动效果的代码

    这篇文章主要介绍了HTML5实现直播间评论滚动效果的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 使用Html5多媒体实现微信语音功能

    这篇文章主要介绍了使用Html5多媒体实现微信语音功能,需要的朋友可以参考下

  7. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  8. html5 拖拽及用 js 实现拖拽功能的示例代码

    这篇文章主要介绍了html5 拖拽及用 js 实现拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  9. HTML5自定义视频播放器源码

    这篇文章主要介绍了HTML5自定义视频播放器源码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  10. HTML5新增form控件和表单属性实例代码详解

    这篇文章主要介绍了HTML5新增form控件和表单属性实例代码详解,需要的朋友可以参考下

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部