摘要: 我们Shine小组的团队项目是自选项目,我们选择了一个跨平台的移动游戏应用,名叫AbsoluteDefense。经过我们的讨论和对各自特点的探讨,我们决定了如下的人员安排:王安然:对游戏架构的设计及Android部分编码工作;黄杨:对游戏本身逻辑的设计、部分美工及IOS部分编码工作;谭传奇:基础架构编码工作,阅读代码并与编码人员沟通;韩佳胤:美工及测试工作;林璐:美工及文档工作;谢伯炎:Cocos2d架构方面的编码工作及测试工作;刘俊伟:测试工作;在接下来的一周时间里,黄杨需要完成游戏的具体设计文档,其他组员需要学习Cocos2d有关知识并安装好相关软件,黄杨已经发表了多篇博客介绍Cocos2 阅读全文
posted @ 2012-10-23 16:58 Shine Team 阅读(836) 评论(7) 推荐(0) 编辑
摘要: Chapter7 –锦上添花到上一章,一个简单的游戏基本已经完成了,我们还可以加一些小的装饰,让这个游戏看起来更专业一点。这一章里我们添加一个新的场景。当大师兄消灭一定数量的妖怪后,在屏幕上显示"You Win",如果有一只妖怪跑出屏幕了,就显示"You Lose"。现在我们要在工程中创建两个新文件:"GameOverScene.cpp" 和 "GameOverScene.h",并且把它们放到Cocos2dxSimpleGame\Classes文件夹里。GameOcerScene.h的C++代码#ifndef _G 阅读全文
posted @ 2012-10-23 16:50 Shine Team 阅读(1231) 评论(1) 推荐(2) 编辑
摘要: Chapter6 –添加背景音乐和音效在这一章,我们要加上背景音乐和一些音效。这里代码很少,所以可以开始唠叨一下音频引擎有关的blablabla。Cocos2d-x 为跨平台使用 SimpleAudioEngine,我们可以很简单地用一行代码就播放音效。但是对于不同的平台支持的音频格式并不一样。所以可以参考一下官方说明:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Audio_formats_supported_by_CocosDenshion_on_different_platforms然后因为跨平台原本cocos2d-iphone能提供的 阅读全文
posted @ 2012-10-23 15:26 Shine Team 阅读(541) 评论(1) 推荐(2) 编辑
摘要: Chapter5 – 碰撞检测主人公能够放子弹了,虽然子弹看起来很美,但是怎么样来打到妖怪?在这一章我们介绍一下最简单的碰撞检测方法去实现它。首先第一个,我们有必要保存每个妖怪和子弹的指针,来够追踪他们的位置。在这个游戏中我们增加两个tag标志去辨别CCNode对象是子弹还是妖怪。tag == 1表示他是一个妖怪,tag == 2 表示他是一个子弹。CCNode有一个m_nTag属性,我们可以使用getTag()/setTag()来访问它,CCSprite是CCNode的子类,我们可以利用这个。先在HellowWorld类中添加两个成员变量来存储,在HelloWorldScene.h里声明一下 阅读全文
posted @ 2012-10-23 12:42 Shine Team 阅读(1656) 评论(3) 推荐(2) 编辑
摘要: Chapter4 –如何放出子弹好嘛现在有妖怪来了,主人公要有一些技能干掉他们。鉴于objc和C++的区别已经有了一些详细的介绍,这章里也并没有什么新的情况发生,我就不抄objc的代码了,直接只上C++。首先我们要让它听玩家指挥,在 HelloWorld::init 方法中添加这一行。// cpp with cocos2d-xthis->setTouchEnabled(true);这样我们就能接受到触摸屏幕的消息了,其实在win32平台上,是鼠标点击事件……然后在HelloWorldScene.h声明一下响应事件的回调函数void ccTouchesEnded(cocos2d::CCSe 阅读全文
posted @ 2012-10-23 11:51 Shine Team 阅读(650) 评论(1) 推荐(2) 编辑
摘要: Chapter3 – 让精灵动起来在上一章中我们把主人公放到了场景中。但是只有他一个人显得很孤单,没有怪没有妖,我们给他造。我们用一个void addTarget()函数来完成这项工作,怪物会以随机的宿舍从场景右侧进入从左侧飞出。首先在HellowWroldScene.h中声明 void addTarget() 函数,然后在HelloWorldScene.cpp中加入源代码(别忘了在HelloWorldScene.cpp的开头使用USING_NS_CC;)// cpp with cocos2d-xvoid HelloWorld::addTarget(){ CCSprite *target... 阅读全文
posted @ 2012-10-23 11:23 Shine Team 阅读(846) 评论(1) 推荐(2) 编辑
摘要: Chapter2 – 添加精灵图片1.添加图片资源接着我们上一章的进度,我们创建了一个 Cocos2dxSimpleGame 项目,在COCOS2DX_HOME下建立了一个Cocos2dSimpleGame的文件夹,并且能够在Win32平下下运行了。现在我们要把三张图片添加到我们的项目中,这是Ray Wenderlich的太太的作品,作为这个简单的小游戏的主角儿。(分别为"Player.png"、"Target.png"、"Projectile.png")要加入资源的方法很简单,只要把图片文件加入到COCOS2DX_HOME\Coco 阅读全文
posted @ 2012-10-22 23:05 Shine Team 阅读(1979) 评论(1) 推荐(2) 编辑
摘要: 前言:这是一个Turorial项目,请不要把这个项目相关的东西带到TFS上打乱工程文件。Turorial 项目会一步一步手把手教会你从0开始完成一个很简单的Cocos2d-x小游戏,完成之后你了解使用Cocos2d-x编程游戏的基本方法。Cocos2d-x是支持跨平台的C++ API库,一次编写,为不同的目标平台进行编译,就能制作跨平台的软件。iOS平台开发需要使用mac OS X和xcode开发工具;Android 平台需要在Windows下建立Linux模拟编译环境和Android SKD NDK 环境,而且几乎不能调适。鉴于以上条件不太友好,所以我们的主要会在Windows下使用Visu 阅读全文
posted @ 2012-10-22 21:12 Shine Team 阅读(775) 评论(1) 推荐(2) 编辑
摘要: 词频统计程序是一个相当简单的程序:它读一个文件夹里的所有指定类型的文件,统计其中出现的英文单词的次数,并排序输出。但是它却有很大的优化余地,甚至可以分布式到多台机器中(Map-Reduce模型)。但是,在单机中搞这么复杂反而会增加运行时间和内存。我们希望将它改造成多线程。但是,分词过程和统计过程若分布到多个线程中,则对内存的锁会增加,因为大部分算法的时间效率都是O(n)的,而且对内存的操作很频繁,所以效率反而会降低。在单机中,若为单线程运行,则IO操作(读写文件)时不能进行CPU运算,同理CPU进行运算时不能进行IO操作。所以一种很明显的优化方式就是,把IO操作和CPU操作分离到两个线程中去。 阅读全文
posted @ 2012-09-25 21:33 Shine Team 阅读(1583) 评论(3) 推荐(3) 编辑
摘要: 听说按照T博流量算分,怒转至T博。一、首先是对于需求和基本方案:重新列一下需求,国行中文版。 Word 单词定义: i.至少含有三个字符、且开头三个字符必须是字母; eg.hao123 == word;123hao!=word ii.不包含任何非字母或者数字的字符; 助教后来说这个本质就是认为除了字母和数字以外都算分隔符的意思。 iii.对于同一个单词的计数,大小写不敏感; eg.File == FILE == file 扩展模式下进一步: 两个单词仅有尾部数字不同时,认为是同一个单词。打印时并不忽略数字。 eg.... 阅读全文
posted @ 2012-09-25 21:16 Shine Team 阅读(435) 评论(2) 推荐(0) 编辑