我想制作一个滑动菜单,其中,在每屏的顶层菜单(level menu)中,设置40个精灵,分别用level 1和level 2进行标记。在右下角,设置另一个“箭头”精灵,在我点击它的时候,场景可以滑到下一屏,然后显示出levels 41到80的内容。这种操作该如何实现呢?
注:我用的是Xcode,而且只想求得,在C++语言环境下编写的cocos2d-x的解决方法。
原问题:How to make a sliding menu in cocos2dx in c++ for IOS game
我想制作一个滑动菜单,其中,在每屏的顶层菜单(level menu)中,设置40个精灵,分别用level 1和level 2进行标记。在右下角,设置另一个“箭头”精灵,在我点击它的时候,场景可以滑到下一屏,然后显示出levels 41到80的内容。这种操作该如何实现呢?
注:我用的是Xcode,而且只想求得,在C++语言环境下编写的cocos2d-x的解决方法。
原问题:How to make a sliding menu in cocos2dx in c++ for IOS game
FuzzyBunnySlippers 的回答:
我尝试过这种方法,感觉还可以。首先,创建一个CCScene子类别。植入全部的menu item,包括可控制所有页面的“箭头”。你需要摆放的所有物品,第一组要放置在在屏幕第一页的可见部分,下一组是向右偏移100%,第三组是向右偏移200%,等等。
设定屏幕上的控制按钮,让它可以启动一个action,并以100%的幅度控制layer的左右移动。
上述所有内容都要关联到一个单独的“Menu”中,当然,你也可以将menu置入一个layer中。
对于以上的阐述,我可以提供一个menu的样例,具体内容如下:
MainScene.h
MainScene.cpp
注:实现item覆盖多页的效果,它的算法可能会有些复杂。利用“Screen fraction”,或者"menu anchor"都可以获取页面上item的网格信息。


抓屏样图: