地球人己阻止不了程序猿们学习cocos2d-x了(第一篇)
很早就开始留意 cocos2d, 但不太习惯用 Objective C, 同时也考虑到跨平台的问题, 所以一直没有正式用过, 後来有了 cocos2d-x, 就更为关注, 老想有空时拿来玩玩写点东西.
原贴发表于: -/bbs/?mod=viewthread&tid=775&extra=page%3D1
很早就开始留意 cocos2d, 但不太习惯用 Objective C, 同时也考虑到跨平台的问题, 所以一直没有正式用过, 後来有了 cocos2d-x, 就更为关注, 老想有空时拿来玩玩写点东西.
之前下载了 cocos2d-x 看了一下附带的例子, 被里边的 scene, layer, CCTextureCache, CCSpriteFrameCache 等等弄得很是混乱, 再加上工作上的事情, 就放下了, 直到上周无意中下载了一本书的 PDF, 决定再好好地学习一下, 而我发现有关 cocos2d-x 的教程并不多, 所以我就班门弄斧的和大家分享一下我的学习过程吧.
(附带一提, 这本书叫Learn cocos2D Game Development with iOS 5, 这麽好的书当然要买正版支持, 我已经在 amazon 定购了, 正在运送途中)
学习一种新技术, 一般我会找一本较好的参考书(或资料), 先了解一下它的基本概念, 再通过实习应用来熟识.
我想不少童鞋可能是被cocos2d 超多的功能所吸引而选用它, 但其实写个一般的小遊戏并不需要知道得太多, 以下就是我想先了解的东西:
1) cocos2d 的基本架构(像scene, layer 等的概念)
2) 怎样在萤幕画东西(texture 处理, sprite 等)
3) 操控
4) 声效
5) 菜单处理
这里我略为说一下关於怎样在萤幕画东西吧. 首先如往常般的建立一个 cocos2d 项目在 VC2010 Express 里(为方便起, 我会在 Windows 平台上写和测试, 有机会再移植到 iOS 和Android):
建立了这个叫 Demo 的项目後, 我们再把一些图抄到 Resources 里:
把这些图像画到萤幕上, Sprite然後加到当前的 Layer 上. 以下这段代码就是把 , Grass 和 显示在画面:
复制代码
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCSprite* pSprite = CCSprite::spriteWithFile("");
CC_BREAK_IF(! pSprite);
pSprite->setPosition(*****(, ));
this->addChild(pSprite, 0);
pSprite = CCSprite::spriteWithFile("Grass ");
CC_BREAK_IF(! pSprite);
pSprite->setPosition(*****(, ));
this->addChild(pSprite, 0);
pSprite = CCSprite::spriteWithFile("");
CC_BREAK_IF(! pSprite);
CCSize dim = pSprite->getContentSize();
pSprite->setPosition(*****(, +));
this->addChild(pSprite, 0);
程序跑起来就会看到下边这个画面:
不过我们最终的目标是把遊戏放到 iOS 或 Android 机子上玩, 所以我们不能不考虑一下有关OpenGL ES 优化的问题, 两大关键问题就是内存(显存)运用和速度.
先看一下内存问题, OpenGL ES 纹理的宽和高都要是2的倍数, 以刚才的例子来说, 虽然 本
地球人己阻止不了程序猿们学习Cocos2d-X了 来自淘豆网m.daumloan.com转载请标明出处.