Created
June 19, 2014 05:11
-
-
Save honux77/44bb2159a53f6069d0d4 to your computer and use it in GitHub Desktop.
cocos 2d ex1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #include "HelloWorldScene.h" | |
| USING_NS_CC; | |
| Scene* HelloWorld::createScene() | |
| { | |
| // 'scene' is an autorelease object | |
| auto scene = Scene::create(); | |
| // 'layer' is an autorelease object | |
| auto layer = HelloWorld::create(); | |
| // add layer as a child to scene | |
| scene->addChild(layer); | |
| // return the scene | |
| return scene; | |
| } | |
| // on "init" you need to initialize your instance | |
| bool HelloWorld::init() | |
| { | |
| ////////////////////////////// | |
| // 1. super init first | |
| if ( !Layer::init() ) | |
| { | |
| return false; | |
| } | |
| Size visibleSize = Director::getInstance()->getVisibleSize(); | |
| Vec2 origin = Director::getInstance()->getVisibleOrigin(); | |
| ///////////////////////////// | |
| // 2. add a menu item with "X" image, which is clicked to quit the program | |
| // you may modify it. | |
| // add a "close" icon to exit the progress. it's an autorelease object | |
| auto closeItem = MenuItemImage::create( | |
| "CloseNormal.png", | |
| "CloseSelected.png", | |
| CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); | |
| closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 , | |
| origin.y + closeItem->getContentSize().height/2)); | |
| // create menu, it's an autorelease object | |
| auto menu = Menu::create(closeItem, NULL); | |
| menu->setPosition(Vec2::ZERO); | |
| this->addChild(menu, 1); | |
| ///////////////////////////// | |
| // 3. add your codes below... | |
| ///////////////////////////// | |
| //auto label = LabelTTF::create("Hello World", "Arial", 24); | |
| //background | |
| auto bg = Sprite::create("bg.png"); | |
| bg->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height/2)); | |
| this->addChild(bg, 0); | |
| //title | |
| auto title = Sprite::create("title.png"); | |
| title->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + visibleSize.height/2 + title->getContentSize().height/2)); | |
| this->addChild(title, 1); | |
| //start | |
| auto start = Sprite::create("button.png"); | |
| start->setPosition(Vec2(origin.x + visibleSize.width/2, origin.y + 100 + start->getContentSize().height/2)); | |
| this->addChild(start,1); | |
| //mushroom | |
| auto mushroom = Sprite::create("mush.png"); | |
| mushroom -> setPosition(Vec2(250, 180)); | |
| this->addChild(mushroom, 3); | |
| //alien | |
| auto ali = Sprite::create("alien.png"); | |
| ali->setPosition(280, 180); | |
| this->addChild(ali, 2); | |
| return true; | |
| } | |
| void HelloWorld::menuCloseCallback(Ref* pSender) | |
| { | |
| #if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) | |
| MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert"); | |
| return; | |
| #endif | |
| Director::getInstance()->end(); | |
| #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) | |
| exit(0); | |
| #endif | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment