Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2dx 菜单制作+弹性弹出特效大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
不管是做游戏还是做应用我们都避免不了要做一个东西,就是菜单,那么在cocos2dx中我们怎样来制作菜单呢,下面详细讲讲。ps.然cocos2dx做应用也没什么大问题,但是游戏引擎默认每一帧都会重绘,这个对于一般app还是消耗比较大的,所以做应用的时候还是尽量不要使用~

首先我们还是来看看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,现在我们知道了怎样去创建一个简单的菜单,那么我们来看看怎样添加特效,本文要讲的是一种弹出后又缓冲弹性的特效,cocos中有提供这种类似的action:EaseElasticOut

@R_450_10097@类的具体讲解可以参官方文档: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));
下面来创建这个弹出特效,其实就是让这个item执行一个action,让这个item运动到屏幕中央,到达屏幕中央后执行一个弹性缓冲的动作~so easy~

最后将这个item添加到menu中:

auto menu = Menu::create(testItem,null);
相关的回调函数:
LoadScene::menuTESTCallBACk
里面添加需要响应的内容即可~

对于菜单还有很多特效~大家可以自己多多尝试~原理就是给item或menu添加action~

大佬总结

以上是大佬教程为你收集整理的cocos2dx 菜单制作+弹性弹出特效全部内容,希望文章能够帮你解决cocos2dx 菜单制作+弹性弹出特效所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。