首先我们还是来看看cocos引擎自动给我们生成的一个关闭菜单的代码:
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));
这是创建一个菜单item的代码,在创建菜单item的时候可以使用image也可以使用Font,这里是关闭按钮,所以使用了MenuItemImage来进行创建,参数列表的头两个是没按和按下时使用的纹理图片,最后一个参数是一个回调函数,在按下这个item后就会去执行这个函数。然后设置了一下这个item的位置。接下来就要将这个item添加到menu中,看下面这段代码:
auto menu = Menu::create(closeItem,NulL);
调用Menu的create函数创建一个menu*的变量,参数列表里面是这个menu中包含的item,现在我们知道了怎样去创建一个简单的菜单,那么我们来看看怎样添加特效,本文要讲的是一种d出后又缓冲d性的特效,cocos中有提供这种类似的action:EaseElasticOut
关于这个类的具体讲解可以参考官方文档:http://cn.cocos2d-x.org/doc/cocos2d-x-3.0/d0/dec/classcocos2d_1_1_ease_elastic_out.HTML
那么我们来创建一个带特效的菜单:
首先还是先创建一个item:
auto testItem = MenuItemImage::create( "testnormal.png","testselected.png",CC_CALLBACK_1(LoadScene::menutestCallback,this));testItem->setposition(Vec2(visibleSize.wIDth/2 + origin.x,origin.y));先创建一个item,然后将位置放在屏幕的底部中间(竖屏)
testItem->runAction(EaseElasticOut::create(Moveto::create(2,Vec2(visibleSize.wIDth/2 + origin.x,visibleSize.height/2 + origin.y)),0.35f));下面来创建这个d出特效,其实就是让这个item执行一个action,让这个item运动到屏幕中央,到达屏幕中央后执行一个d性缓冲的动作~so easy~
最后将这个item添加到menu中:
auto menu = Menu::create(testItem,NulL);相关的回调函数:
LoadScene::menutestCallback里面添加需要响应的内容即可~
对于菜单还有很多特效~大家可以自己多多尝试~原理就是给item或menu添加action~
总结以上是内存溢出为你收集整理的cocos2dx 菜单制作+d性d出特效全部内容,希望文章能够帮你解决cocos2dx 菜单制作+d性d出特效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)