将菜单项位置引用到同一菜单中的另一个菜单项
reference a menu item position to another menu item in the same menu
如何将菜单项位置引用到同一菜单中的另一个菜单项?
例如,我有一个菜单对象和两个菜单项。我想要第二个菜单项,指的是第一个的位置,像这样:
menu_item_2->setPosition(Point(menu_item1.width/2, visibleSize.height/3));
但这实际上不起作用。
这是我现在的代码:
Size visibleSize = Director::getInstance()->getVisibleSize();
auto menu_item_1 = MenuItemFont::create("Play", CC_CALLBACK_1(MenuScene::Play, this));
auto menu_item_2 = MenuItemFont::create("abc", CC_CALLBACK_1(MenuScene::Play, this));
mainMenu = Menu::create(menu_item_1,menu_item_2, NULL);
mainMenu -> setPosition(visibleSize.width/4, visibleSize.height/4);
menu_item_1->setPosition(Point(visibleSize.width/2, visibleSize.height/2));
menu_item_2->setPosition(Point(visibleSize.width/2, visibleSize.height/3));
this->addChild(mainMenu);
CCLOG("Play");
CCLOG("Play %f", screen.width/2);
CCLOG("Play %f", screen.height/2);
CCLOG("Play %f", visibleSize.width/2);
CCLOG("Play %f", visibleSize.height/2);
您可以通过访问其他项目菜单的边界框来引用其宽度属性
menu_item_2->setPosition(Point(menu_item_1->getBoundingBox().size.width/2.0f, m_visibleSize.height/3));
MenuItemFont本质上是一个Node类,然后你可以使用Node类中存在的所有getter:
Point pos = menu_item_1->getPosition();
float xpos = menu_item_1->getPositionX();
float ypos = menu_item_1->getPositionY();
但是要注意:所有这些坐标都是相对于主菜单对象的
相关文章:
- 难以从 CImageList 设置菜单项位图
- 连接资源文件中的字符串,并将其传递给菜单项字符串 (winapi) c++
- 获取 c++ mfc vs2015 中弹出资源菜单项的 id
- 无法在 cocos2dx 中显示菜单菜单项图像
- 带有回调函数的cocos2d-x菜单项错误
- 如何安全地将包含的对象(菜单项)与需要容器(菜单)的API同步
- QT在菜单项上显示模态对话框(.UI)单击
- 将菜单项添加到Windows Explorer右键单击Java中的上下文菜单
- 如何在Qt中再次将菜单项变灰
- 如何在 c++ win32 API 中向菜单项添加图标
- gtkmm3中的菜单项始终处于禁用状态
- 在cocos2dx中创建菜单项标签时断言失败
- 单击上下文菜单项时运行程序
- MFC 菜单项未打开对话框
- 正在获取所选子菜单项的值
- 为什么我的菜单项不可点击?
- 如何获取插入菜单项时要使用的下一个命令 ID
- 在C++中检索Windows中的菜单项列表
- 如何检查菜单中的哪个项目被选中?如何通过选择菜单项发送int/wxstring
- 如何使Qt中的菜单项变灰