当前位置:编程学习 > wap >>

cocos2d-x教程1 hello world

HelloworldScene.h
 
 
#ifndef __HELLOWORLD_SCENE_H__
#define __HELLOWORLD_SCENE_H__
 
#include "cocos2d.h"
 
class HelloWorld :public cocos2d::CCLayer
{
public:
    //初始化函数
   virtual bool init();  
 
    //静态创建函数
   static cocos2d::CCScene* scene();
    
    //menu菜单的一个回调函数
   void menuCloseCallback(CCObject* pSender);
 
    //备注1
    CREATE_FUNC(HelloWorld);
    
};
 
#endif // __HELLOWORLD_SCENE_H__
 
HelloWorldScene.cpp
 
 
 
 
#include "HelloWorldScene.h"
#include "SimpleAudioEngine.h"
 
using namespace cocos2d;
using namespace CocosDenshion;
 
CCScene* HelloWorld::scene()
{
    //创建一个场景对象
   CCScene *scene = CCScene::create();
    //创建一个HelloWorld对象(Layer层)
    HelloWorld *layer =HelloWorld::create();
    //将层作为场景的孩子放入场景中
    scene->addChild(layer);
   return scene;
}
 
// on "init" you need to initialize your instance
bool HelloWorld::init()
{
    //先调用父类初始化函数
   if ( !CCLayer::init() )
    {
        return false;
    }
 
    //将一个“X”形状的图片创建成一个图片菜单项,
    //并将用户点击后的回调函数绑定在menuCloseCallback函数上
    CCMenuItemImage *pCloseItem =CCMenuItemImage::create(
                                       "CloseNormal.png",
                                       "CloseSelected.png",
                                       this,
                                       menu_selector(HelloWorld::menuCloseCallback) );
    //设置菜单项的位置
    pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width -20, 20) );
 
    //将已经创建好的菜单项加入菜单中,生成一个菜单Menu对象实例
   CCMenu* pMenu = CCMenu::create(pCloseItem,NULL);
    
    //设置菜单作为  CCPointZero:x=0,y=0
    pMenu->setPosition(CCPointZero );
    
    //将菜单加入当前Layer中,并且设置z轴为1
   this->addChild(pMenu,1);
 
    //创建一个文本对象
   CCLabelTTF* pLabel = CCLabelTTF::create("Hello World","Thonburi", 34);
 
    //获取当前设备尺寸,
    CCSize size =CCDirector::sharedDirector()->getWinSize();
 
    //设置文本坐标
    pLabel->setPosition(ccp(size.width /2, size.height -20) );
 
    //将文本添加到当前Layer中
   this->addChild(pLabel,1);
 
    //利用 HelloWorld.png图片创建一个精灵
   CCSprite* pSprite = CCSprite::create("HelloWorld.png");
 
    //设置精灵位置
    pSprite->setPosition(ccp(size.width/2, size.height/2) );
 
    //将精灵放置当前layer中
   this->addChild(pSprite,0);
 
    return true;
}
 
voidHelloWorld::menuCloseCallback(CCObject* pSender)
{
    //程序退出
    CCDirector::sharedDirector()->end();
    
    //判定当前设备是否为ios设备
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
   exit(0);
#endif
}
 
补充:移动开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,