cocos2d-x创建精灵
来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:43 点击:次
sprite我暂时简单理解为一个可以移动的实体,随便什么都可以,就是一张贴图,移动,不过可以变换动作(另一张贴图)。
p>吐槽一下:cocos2d-x的C++代码写的不是很严谨。
p>下面我们来看下创建的基本流程:
p>[cpp]
p>class HelloWorld : public cocos2d::CCLayerColor
p>
p>我们的HelloWorld继承CCLayerColor,为毛不是CCLayer呢,因为根据教程上将 我们酱紫可以设置背景色,其实实际中都是贴图,如果游戏只出现一个纯色作为背景色,玩家会吐你一脸。
p>建立场景时会这么做:
p>[cpp]
p>bool AppDelegate::applicationDidFinishLaunching()
p>{
p> // initialize director
p> CCDirector *pDirector = CCDirector::sharedDirector();
p> pDirector->setOpenGLView(CCEGLView::sharedOpenGLView());
p>
p> // turn on display FPS
p> pDirector->setDisplayStats(true);
p>
p> // set FPS. the default value is 1.0/60 if you don't call this
p> pDirector->setAnimationInterval(1.0 / 60);
p>
p> // create a scene. it's an autorelease object
p> CCScene *pScene = HelloWorld::scene();
p>
p> // run
p> pDirector->runWithScene(pScene);
p> return true;
p>}
p>
p>当然这是cocos2d-x的末班自动生成的。
p>那里面要生成精灵嘛:
p>[cpp]
p>CCScene* HelloWorld::scene()
p>{
p> CCScene * scene = NULL;
p> do
p> {
p> // 'scene' is an autorelease object
p> scene = CCScene::create();
p> CC_BREAK_IF(! scene);
p>
p> // 'layer' is an autorelease object
p> HelloWorld *layer = HelloWorld::create();
p> CC_BREAK_IF(! layer);
p>
p> // add layer as a child to scene
p> scene->addChild(layer);
p> } while (0);
p>
p> // return the scene
p> return scene;
p>}
p>
p>里面的create会调到:
p>[cpp]
p>CCScene *CCScene::create()
p>{
p> CCScene *pRet = new CCScene();
p> if (pRet && pRet->init())
p> {
p> pRet->autorelease();
p> return pRet;
p> }
p> else
p> {
p> CC_SAFE_DELETE(pRet);
p> return NULL;
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>
您可能感兴趣的文章
- Cocos2d-x 3.2 大富翁游戏项目开发-第二十四部分 彩票开奖
- Cocos2dx 3.0 提高篇(六)中文显示的一种解决办法
- Cocos2dx游戏开发系列笔记19:vs2013下开发cocos2dx3.0beta并成
- PhoneGap WP7 Mango 开发环境搭建
- Cocos2D-x游戏开发之二十二:CCNotificationCenter观察者模式基
- cocos2dx 在windows上实现键盘输入
- cocos2dx 3.2 裁剪节点 ClippingNode
- App软件开发的用户体验要素
- Cocos2dx 3.0 交流篇(一) 初体验
- cocos2d(CCSprite绑定不规则刚体与精灵一起移动)