Cocos2d-x3.2 Menu菜单的创建

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//GameScene.h
 
#include "cocos2d.h"
 
class  GameScene :  public  cocos2d::Layer
{
public :
     static  cocos2d::Scene* createScene();
     
     virtual  bool  init();
     
     void  menuCallback(cocos2d::Ref* pSender);
     
     CREATE_FUNC(GameScene);
};




?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//GameScene.cpp
 
#include "GameScene.h"
 
USING_NS_CC;
 
cocos2d::Scene* GameScene::createScene()
{
     auto  scene = Scene::create();    //创建一个场景
     auto  layer = GameScene::create();    //创建一个图层
     scene->addChild(layer);
     return  scene;
}
 
//初始化当前的图层
bool  GameScene::init()
{
     if (!Layer::init())       //初始化父类
         return  false ;
     
     //获取屏幕大小
     Size visibleSize = Director::getInstance()->getVisibleSize();
     //auto size = Director::getInstance()->getWinSize();
     //添加一个图片精灵
     auto  sprite = Sprite::create( "OnePiece_1.png" );
     sprite->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
     this ->addChild(sprite);
     
     //创建菜单
     //方法一
     auto  label = Label::createWithSystemFont( "Jacedy" "Marker Felt" , 40);
     auto  item1 = MenuItemLabel::create(label, CC_CALLBACK_1(GameScene::menuCallback,  this ));
     item1->setPosition(Vec2(visibleSize.width*0.9, visibleSize.height*0.8));
     
     //方法二
     auto  item2 = MenuItemFont::create( "Jacedy" , CC_CALLBACK_1(GameScene::menuCallback,  this ));
     item2->setPosition(Vec2(visibleSize.width*0.9, visibleSize.height*0.7));
     
     //方法三
     auto  sprite1 = Sprite::create( "btn-play-normal.png" );
     auto  sprite2 = Sprite::create( "btn-play-selected.png" );
     auto  item3 = MenuItemSprite::create(sprite1, sprite2, CC_CALLBACK_1(GameScene::menuCallback,  this ));
     item3->setPosition(Vec2(visibleSize.width*0.9, visibleSize.height*0.6));
     
     //方法四
     auto  item4 = MenuItemImage::create( "btn-play-normal.png" "btn-play-selected.png" , CC_CALLBACK_1(GameScene::menuCallback,  this ));
     item4->setPosition(Vec2(visibleSize.width*0.9, visibleSize.width*0.5));
     
     auto  menu = Menu::create(item1, item2, item3, item4, NULL);
     menu->setAnchorPoint(Vec2::ZERO);
     menu->setPosition(Vec2::ZERO);
     this ->addChild(menu);
     
     
     return  true ;
}
 
void  GameScene::menuCallback(cocos2d::Ref* pSender)
{
     
}
目录
相关文章
06 QT - 按钮创建
06 QT - 按钮创建
50 0
|
3月前
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Push Button的使用及说明
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Push Button的使用及说明
158 0
【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Push Button的使用及说明
|
3月前
|
数据安全/隐私保护
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Line Edit的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Line Edit的使用及说明
507 0
|
3月前
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明
【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明
308 0
|
XML Java Android开发
菜单(Menu)
本章给大家带来的是Android中的Menu(菜单),而在Android中的菜单有如下几种: OptionMenu:选项菜单,android中最常见的菜单,通过Menu键来调用 SubMenu:子菜单,android中点击子菜单将弹出一个显示子菜单项的悬浮框,子菜单不支持嵌套,即不能包括其他子菜单 ContextMenu:上下文菜单,通过长按某个视图组件后出现的菜单,该组件需注册上下文菜单本节我们来依依学习这几种菜单的用法~ PS:官方文档:menus 1.OptionMenu(选项菜单) 1)如何使用OptionMenu? 答:非常简单,重写两个方法就好,其实这两个方法我们在创
112 0
|
算法 容器
Qt 设计界面中 tab widget模块的添加和删除(手动拖拽)
Qt 设计界面中 tab widget模块的添加和删除(手动拖拽)
Qt 设计界面中 tab widget模块的添加和删除(手动拖拽)
|
Android开发 容器
Android动态修改ToolBar的Menu菜单
Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了。
1789 0
|
Java iOS开发 MacOS
Java开发GUI之Menu菜单
Java开发GUI之Menu菜单
417 0