cocos2d x3.3 Menu、MenuItem等相关

来源:互联网 发布:淘宝试用报告怎么写 编辑:程序博客网 时间:2024/05/06 18:23

学习cocos2dx,今天学到有关项目选项的类微笑

#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 instancebool HelloWorld::init(){    //////////////////////////////    // 1. super init first    if ( !Layer::init() )    {        return false;    }auto visibleSize = Director::getInstance()->getWinSize();auto origin = Director::getInstance()->getVisibleOrigin();auto bj = CCSprite::create("HelloWorld.png");bj->setPosition(Vec2((origin.x + visibleSize.width) * 0.5, (origin.y + visibleSize.height) * 0.5));this->addChild(bj, 1, "背景1");auto MenuItemIM = Menu::create();auto close = MenuItemImage::create("close.png", "PPWebClose.png", CC_CALLBACK_1(HelloWorld::Menu_Instace, this));MenuItemIM->addChild(close);auto MenuFonts = MenuItemFont::create("button1", CC_CALLBACK_1(HelloWorld::Menu_Fonts, this));MenuItemIM->addChild(MenuFonts);auto sp1 = CCSprite::create("jtbq_040.png");auto sp2 = CCSprite::create("jtbq_043.png");auto MenuT = MenuItemSprite::create(sp1, sp2, CC_CALLBACK_1(HelloWorld::Menu_CCSprite, this));MenuItemIM->addChild(MenuT);auto MenuToggle = MenuItemToggle::createWithCallback(CC_CALLBACK_1(HelloWorld::Menu_Toggle, this),MenuItemFont::create("on"),MenuItemFont::create("off"), nullptr);MenuItemIM->addChild(MenuToggle);MenuItemIM->alignItemsVertically();MenuItemIM->setPosition(origin + Vec2(visibleSize) - MenuItemIM->getContentSize() / 2);this->addChild(MenuItemIM, 1);    return true;}void HelloWorld::Menu_Instace(Ref * sender){Director::getInstance()->end();}void HelloWorld::Menu_Fonts(Ref * sender){log("++");}void HelloWorld::Menu_CCSprite(Ref * sender){CCSprite * bj = dynamic_cast<CCSprite *> (this->getChildByName("背景1"));if (background != 40002){bj->setTexture(TextureCache::getInstance()->addImage("40002.png"));//图片为40002setBackGround(40002);log("%d", 40002);}}void HelloWorld::setBackGround(int n){background = n;}void HelloWorld::Menu_Toggle(Ref * sender){CCSprite * bj = dynamic_cast<CCSprite *> (this->getChildByName("背景1"));if (background != 40001){bj->setTexture(TextureCache::getInstance()->addImage("40001.png"));//图片为40002setBackGround(40001);log("%d", 40001);}}


0 0
原创粉丝点击