• 实训九(游戏退出按钮的实现)


    主要是涉及引擎中menu的使用

    常见的几种使用方法

    1、可变换图标

    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);

    但是,请注意this->addChild(menu, 1);  当项目中涉及到用数字区分或者记录位置时,如果初始定义了1的具体含义,这里就不能用了

    2、文本菜按钮单项,通过指定文本标签,这个点击会有放大效果。先创建一个文本,然后绑在CCMenuItemLabel
    上面就可以做按钮了

    CCLabelTTF* pLabel = CCLabelTTF::create("button", "Arial", 30);//参数分别是:按钮要显示的文字,字体,字号
    CCMenuItemLabel* pBtn = CCMenuItemLabel::create(pLabel) ;
    pBtn->setPosition(ccp(100, 100));
    CCMenu* pMenu = CCMenu::create(pBtn, NULL);
    pMenu->setPosition(CCPointZero);
    this->addChild(pMenu);

    3、CCMenuItemImage /CCMenuItemFont  + CCMenuItemToggle + CCMenu

    这种方法创建的图片按钮在点击之后不会有显示效果切换,例如现在显示start,点击之后会显示stop,不在变化,若再次点击,才会变回start。

    	CCMenuItemFont* start = CCMenuItemFont::create("start");
    	CCMenuItemFont* stop = CCMenuItemFont::create("stop");
    	CCMenuItemToggle* toggle = CCMenuItemToggle::createWithTarget(this, menu_selector(MyLayer::show), start, stop, NULL);
    	toggle->setPosition(ccp(100, 100));
    	CCMenu* menu = CCMenu::create(toggle,NULL);
    	menu->setPosition(CCPointZero);
    	addChild(menu);
  • 相关阅读:
    J2EE13个规范--【J2EE】
    事件监听、持有对方的引用--【J2SE】
    TCP协议:服务端和客户端demo--【J2SE】
    线程:Interrupt、Sleep、Join、线程同步--【J2SE】
    1. Visual C++ 6.0 安装和使用
    无法连接虚拟设备sata0:1,因为主机上没有相应的设备
    Linux文件夹文件创建、删除
    服务器
    linux 下 apache启动、停止、重启命令
    Apache部署静态html
  • 原文地址:https://www.cnblogs.com/revenge/p/5891214.html
Copyright © 2020-2023  润新知