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

}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos2d是一种流行的2D游戏引擎,它支持多平台开发,包括iOS、Android、Windows、Mac OS X等。Cocos2d-python是Cocos2d-x游戏引擎的Python版本,它提供了许多强大的功能,如游戏场景、动画、精灵、物理引擎等,非常适合开发2D游戏。 下面是一个简单的Cocos2d-python的helloworld程序: 1. 安装Cocos2d-python 在安装Cocos2d-python之前,需要先安装Python和pip。然后使用pip命令安装Cocos2d-python: ``` pip install cocos2d ``` 2. 创建一个新的Cocos2d-python项目 打开命令行窗口,进入到要创建项目的目录,然后执行以下命令: ``` cocos new mygame -p com.mycompany.mygame -l python ``` 其中,mygame是项目名称,com.mycompany.mygame是包名。 3. 编写helloworld程序 在mygame项目的src目录下创建一个新的Python文件helloworld.py,然后输入以下代码: ```python import cocos class HelloWorld(cocos.layer.Layer): def __init__(self): super(HelloWorld, self).__init__() label = cocos.text.Label( 'Hello, world!', font_name='Times New Roman', font_size=32, anchor_x='center', anchor_y='center' ) label.position = 320, 240 self.add(label) if __name__ == '__main__': cocos.director.director.init() HelloWorldScene = cocos.scene.Scene(HelloWorld()) cocos.director.director.run(HelloWorldScene) ``` 这个程序创建了一个名为HelloWorld的Layer,该Layer包含一个居中显示的文本标签“Hello, world!”。最后,它创建了一个Scene,将HelloWorld添加到Scene中,并运行Scene。 4. 运行helloworld程序 在命令行窗口中进入mygame项目的根目录,然后执行以下命令: ``` python src/helloworld.py ``` 程序将会启动,并显示一个居中显示的“Hello, world!”文本标签。 这是一个简单的Cocos2d-python的helloworld程序,你可以在此基础上进一步学习Cocos2d-python的开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值