Cocos2d-x实现简单的翻牌效果

触发器互联网影响找了很多。有自己的点重写一个复杂的sprite类来实现。简单的操作来对引擎的使用CCOrbitCamera实现,但是,也存在一些问题,后变反了。

我在用的仅仅是一个简单的翻牌效果,点击之后图片翻牌,翻到一半之后图片切换到另外一面。再继续剩下的旋转。

注:以下的代码仅仅能翻牌一次,第二次就会乱了。当然,我须要的也仅仅是翻牌一次而已。

简单的载入图片:

	pSprite = CCSprite::create("iv_card_1.png");
	pSprite->setPosition( ccp(300,300) );
	this->addChild(pSprite, 0);

图片点击之后进行翻牌动作:

void HelloWorld::menuCloseCallback(CCObject* pSender)
{
	//===旋转的时间。起始半径,半径差。起始z角。旋转z角差,起始x角,旋转x角差===
	CCSequence*  action = CCSequence::create(
		CCOrbitCamera::create(1,1, 0, 0, 90, 0, 0)
		,CCCallFunc::create(this , callfunc_selector(HelloWorld::objectReset) )
		,CCOrbitCamera::create(1,1, 0, -90, -90, 0, 0)
		,NULL);

	pSprite->runAction(action);
}

void HelloWorld::objectReset()
{
	//CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("iv_card_2<span style="font-family: Arial, Helvetica, sans-serif;">.png</span><span style="font-family: Arial, Helvetica, sans-serif;">");</span>
	//pSprite->setTexture(texture);
	CCSprite* p = CCSprite::create("iv_card_2.png");
	pSprite->setTexture(p->getTexture());

	//===能够添加正面的元素======
	CCSprite* p2 = CCSprite::create("public_diamond_icon.png");
	pSprite->addChild(p2);
	p2->setPosition(ccp(pSprite->getContentSize().width/2,pSprite->getContentSize().height/2+p2->getContentSize().height/2));
	//=================
	pSprite->setScaleX(-1);
}

素材图片

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTmF0X215cm9u/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >   

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTmF0X215cm9u/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-12 21:45:10

Cocos2d-x实现简单的翻牌效果的相关文章

Cocos2d-x实现简易翻牌效果

翻牌效果网上找了好多,复杂点的有自己重写一个sprite类来实现,简单的就利用引擎自带的动作CCOrbitCamera来实现,但是存在一些问题,图片旋转之后变反了. 我在用的只是一个简单的翻牌效果,点击之后图片翻牌,翻到一半之后图片切换到另外一面,再继续剩下的旋转. 注:下面的代码只能翻牌一次,第二次就会乱了,当然,我需要的也只是翻牌一次而已. 简单的加载图片: pSprite = CCSprite::create("iv_card_1.png"); pSprite->setPo

【Cocos2d-x】实现翻牌效果

翻牌效果可以使用CCOrbitCamera实现,这是一个CCAction,使精灵视角按照球面坐标轨迹 围绕屏幕中心进行旋转.[关于CCOrbitCamera] 翻牌需要两个精灵,一个表示牌的正面,一个表示牌的背面.当执行翻牌动作的时候:初始化正面的角度为向左90度.背面为0度--背面向右旋转90度--正面向右旋转90度,这就实现了一个翻牌的效果. api说明: t:动作时长 radius:球的半径 deltaRadius:球半径偏移量 angleZ:开始时z轴角度 deltaAngleZ:z轴角

HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果

首先感谢w3cfuns的老师~ 今天给大家带来一个CSS3制作的翻牌效果.就是鼠标移到元素上,感觉能够看到元素背后的信息. 大家假设制作考验记忆力的连连看.扑克类的游戏神马的,甚至给女朋友写一些话语,放在使用该实例制作的相冊之后都能够尝试下,哈~ 效果图: 实例用到的一些CSS3的新属性:  a.-webkit-perspective: 800px; perspective (透视,视角):属性定义 3D 元素距视图的距离.以像素计.该属性同意您改变 3D 元素查看 3D 元素的视图. 决定了你

1.1 结合date()和setTimeOut()实现简单的时钟效果

一.简单的时钟效果 首先要熟悉日期函数date()以及其常用的方法 getFullYear()  返回完整的年份 比如:2016 getMonth()  返回月份(从0开始,需+1) getDate()  返回日期 getHours()  返回小时数 getMinutes()  返回分钟数 getSeconds()  返回秒数 getDay() 返回星期几 (0-6,0是星期天,1是星期一) 写一个简单的html页面,用来展示时钟效果 <!DOCTYPE html> <html>

学习Jammendo代码的心路历程(一)简单的淡出效果实现

最近在看 Jammendo代码,打算将学习过程简单的记录下来,下面开始第一篇: 打开Jammendo运行之后,出弹出一个对话框,跳过对话框之后,会有一个淡出界面跳转到首页效果的实现.那么这个效果是怎么实现的呢,其实就是Animation中动画淡出的效果——原理大概是layout不透明变成全透明这样一个原理. 我这里用到的自定义endAnimation,是执行的动画效果,这里找到我事先写好的fade_out.xml,也就是一个简单的淡出效果实现: <?xml version="1.0&quo

利用replaceChild制作简单的吞噬效果【jsDEMO】

[功能说明] 利用replaceChild制作简单的吞噬效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class="in"

【JQuery插件】扑克正反面翻牌效果

里面有两个demo,支持X横向和Y纵向翻转两个效果. 对元素的布局有一定的讲究,需要分析一下demo的css. 默认翻转速度为80,不要大于100ms. <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>[JQuery插件]扑克正反面翻牌效果</ti

jQuery实现的简单文字提示效果模拟title(转)

来源 http://www.cnblogs.com/puzi0315/archive/2012/10/17/2727693.html 模拟title实现效果,可以修改文字的样式,换行等. 文件下载: 先看下效果截图: 代码分析: <!-- 引用jQuery --> <script src="jquery.js" type="text/javascript"></script> <style type="text/c

jQuery实现简单进度条效果

一个用jQuery实现的简单进度条,当加载页面时,屏幕顶部出现一条极细的小线条,加载页面时会显示加载进度. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>jquery实现的简单进度条效果</title> 6 <style> 7 #web_loading{ 8 z-inde