PuzzleSDK
MenuLayer2类 参考

#include <MenuTest.h>

+ 类 MenuLayer2 继承关系图:
+ MenuLayer2 的协作图:

Public 成员函数

 MenuLayer2 ()
 
 ~MenuLayer2 ()
 
void menuCallback (cocos2d::Ref *sender)
 
void menuCallbackOpacity (cocos2d::Ref *sender)
 
void menuCallbackAlign (cocos2d::Ref *sender)
 

Protected 成员函数

void alignMenusH ()
 
void alignMenusV ()
 

Protected 属性

cocos2d::Vec2 _centeredMenu
 
bool _alignedH
 

详细描述

在文件 MenuTest.h72 行定义.

构造及析构函数说明

◆ MenuLayer2()

MenuLayer2::MenuLayer2 ( )

在文件 MenuTest.cpp219 行定义.

220{
221 for( int i=0;i < 2;i++ )
222 {
223 auto item1 = MenuItemImage::create(s_PlayNormal, s_PlaySelect, CC_CALLBACK_1(MenuLayer2::menuCallback, this));
224 auto item2 = MenuItemImage::create(s_HighNormal, s_HighSelect, CC_CALLBACK_1(MenuLayer2::menuCallbackOpacity, this));
225 auto item3 = MenuItemImage::create(s_AboutNormal, s_AboutSelect, CC_CALLBACK_1(MenuLayer2::menuCallbackAlign, this));
226
227 item1->setScaleX( 1.5f );
228 item2->setScaleX( 0.5f );
229 item3->setScaleX( 0.5f );
230
231 auto menu = Menu::create(item1, item2, item3, nullptr);
232
233 auto s = Director::getInstance()->getWinSize();
234 menu->setPosition(Vec2(s.width/2, s.height/2));
235
236 menu->setTag( kTagMenu );
237
238 addChild(menu, 0, 100+i);
239
240 _centeredMenu = menu->getPosition();
241 }
242
243 _alignedH = true;
244 alignMenusH();
245}
@ kTagMenu
Definition: MenuTest.cpp:33
void menuCallbackAlign(cocos2d::Ref *sender)
Definition: MenuTest.cpp:313
bool _alignedH
Definition: MenuTest.h:76
void alignMenusH()
Definition: MenuTest.cpp:251
void menuCallbackOpacity(cocos2d::Ref *sender)
Definition: MenuTest.cpp:303
void menuCallback(cocos2d::Ref *sender)
Definition: MenuTest.cpp:298
cocos2d::Vec2 _centeredMenu
Definition: MenuTest.h:75
static const char s_HighNormal[]
Definition: testResource.h:51
static const char s_PlaySelect[]
Definition: testResource.h:48
static const char s_PlayNormal[]
Definition: testResource.h:47
static const char s_AboutNormal[]
Definition: testResource.h:49
static const char s_HighSelect[]
Definition: testResource.h:52
static const char s_AboutSelect[]
Definition: testResource.h:50

引用了 _alignedH, _centeredMenu, alignMenusH(), kTagMenu, menuCallback(), menuCallbackAlign(), menuCallbackOpacity(), s_AboutNormal, s_AboutSelect, s_HighNormal, s_HighSelect, s_PlayNormal , 以及 s_PlaySelect.

+ 函数调用图:

◆ ~MenuLayer2()

MenuLayer2::~MenuLayer2 ( )

在文件 MenuTest.cpp247 行定义.

248{
249}

成员函数说明

◆ alignMenusH()

void MenuLayer2::alignMenusH ( )
protected

在文件 MenuTest.cpp251 行定义.

252{
253 for(int i=0;i<2;i++)
254 {
255 auto menu = static_cast<Menu*>( getChildByTag(100+i) );
256 menu->setPosition( _centeredMenu );
257 if(i==0)
258 {
259 // TIP: if no padding, padding = 5
260 menu->alignItemsHorizontally();
261 auto p = menu->getPosition();
262 menu->setPosition(p + Vec2(0.0f,30.0f));
263
264 }
265 else
266 {
267 // TIP: but padding is configurable
268 menu->alignItemsHorizontallyWithPadding(40);
269 auto p = menu->getPosition();
270 menu->setPosition(p - Vec2(0.0f,30.0f));
271 }
272 }
273}

引用了 _centeredMenu.

被这些函数引用 menuCallbackAlign() , 以及 MenuLayer2().

+ 这是这个函数的调用关系图:

◆ alignMenusV()

void MenuLayer2::alignMenusV ( )
protected

在文件 MenuTest.cpp275 行定义.

276{
277 for(int i=0;i<2;i++)
278 {
279 auto menu = static_cast<Menu*>( getChildByTag(100+i) );
280 menu->setPosition( _centeredMenu );
281 if(i==0)
282 {
283 // TIP: if no padding, padding = 5
284 menu->alignItemsVertically();
285 auto p = menu->getPosition();
286 menu->setPosition(p + Vec2(100.0f,0.0f));
287 }
288 else
289 {
290 // TIP: but padding is configurable
291 menu->alignItemsVerticallyWithPadding(40);
292 auto p = menu->getPosition();
293 menu->setPosition(p - Vec2(100.0f,0.0f));
294 }
295 }
296}

引用了 _centeredMenu.

被这些函数引用 menuCallbackAlign().

+ 这是这个函数的调用关系图:

◆ menuCallback()

void MenuLayer2::menuCallback ( cocos2d::Ref *  sender)

在文件 MenuTest.cpp298 行定义.

299{
300 static_cast<LayerMultiplex*>(_parent)->switchTo(0, false);
301}

被这些函数引用 MenuLayer2().

+ 这是这个函数的调用关系图:

◆ menuCallbackAlign()

void MenuLayer2::menuCallbackAlign ( cocos2d::Ref *  sender)

在文件 MenuTest.cpp313 行定义.

314{
316
317 if( _alignedH )
318 alignMenusH();
319 else
320 alignMenusV();
321}
void alignMenusV()
Definition: MenuTest.cpp:275

引用了 _alignedH, alignMenusH() , 以及 alignMenusV().

被这些函数引用 MenuLayer2().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ menuCallbackOpacity()

void MenuLayer2::menuCallbackOpacity ( cocos2d::Ref *  sender)

在文件 MenuTest.cpp303 行定义.

304{
305 auto menu = static_cast<Menu*>( static_cast<Node*>(sender)->getParent() );
306 uint8_t opacity = menu->getOpacity();
307 if( opacity == 128 )
308 menu->setOpacity(255);
309 else
310 menu->setOpacity(128);
311}

被这些函数引用 MenuLayer2().

+ 这是这个函数的调用关系图:

类成员变量说明

◆ _alignedH

bool MenuLayer2::_alignedH
protected

在文件 MenuTest.h76 行定义.

被这些函数引用 menuCallbackAlign() , 以及 MenuLayer2().

◆ _centeredMenu

cocos2d::Vec2 MenuLayer2::_centeredMenu
protected

在文件 MenuTest.h75 行定义.

被这些函数引用 alignMenusH(), alignMenusV() , 以及 MenuLayer2().


该类的文档由以下文件生成: