用两个图片初始化两个CCSprite,一样的大小,重叠在一起,分别叫做 foregroundNode 和 backgroundNode 。

- (void)flipover
{
if (isFliping) {
return;
}
[self chooseCard];
} -(void) chooseCard
{
isFliping = YES;
CCSprite *fore = nil;
CCSprite *back = nil;
if (flipovered) {
fore = self.foregroundNode;
back = self.backgroundNode;
}else{
fore = self.backgroundNode;
back = self.foregroundNode;
} //始终保证前面的图像是未横向翻转过的,后面的图像是翻转过的
if ([back flipX] == NO) {
[back setFlipX:YES];
}
if ([fore flipX] == YES) {
[fore setFlipX:NO];
} //执行动画的时间
float orbitTime = 0.3; //前景图像转动90度不可见
[fore runAction:[CCSequence actions:[CCOrbitCamera actionWithDuration:orbitTime radius: deltaRadius: angleZ: deltaAngleZ: angleX: deltaAngleX:],[CCCallFunc actionWithTarget:self selector:@selector(showCard:)], nil]]; //背景图像同步旋转,当前景图像停止动画时,背景图像继续旋转90度,此时图像左右是翻转的,为了保证看着的图像是正常的,所以在执行动画前要翻转一次
[back runAction:[CCSequence actions:[CCOrbitCamera actionWithDuration:orbitTime* radius: deltaRadius: angleZ: deltaAngleZ: angleX: deltaAngleX:], [CCCallFunc actionWithTarget:self selector:@selector(flipFinished)], nil]];
} // 翻转后,调整前后景图像的层次
-(void)showCard:(id)sender
{
if (flipovered) {
[self.foregroundNode setZOrder:];
[self.backgroundNode setZOrder:];
}else{
[self.foregroundNode setZOrder:];
[self.backgroundNode setZOrder:];
}
flipovered = !flipovered;
} - (void)flipFinished
{
isFliping = NO;
}

cocos2d - 翻转两个Sprite的更多相关文章

  1. cocos2d中两种移动的算法

    在对cocos2d的sprite处理移动的过程中,通常用到的两种移动的算法: 假设这个CCNode是直接放在CCLayer上的 距离差法: CGPoint curTouchPosUI = [touch ...

  2. Sprite Kit 入门教程

    Sprite Kit 入门教程  Ray Wenderlich on September 30, 2013 Tweet 这篇文章还可以在这里找到 英语, 日语 If you're new here, ...

  3. Learning Cocos2d-x for WP8(7)——让Sprite动起来

    原文:Learning Cocos2d-x for WP8(7)--让Sprite动起来 C#(wp7)兄弟篇Learning Cocos2d-x for XNA(7)——让Sprite动起来 本讲将 ...

  4. 【Cocos2d入门教程六】Cocos2d-x事件篇之触摸

    Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前. 关系图: 新 事件分发机制:在2.x 版本事件处 ...

  5. [python][cpp]对浮点数进行n位翻转

    问题 在py编程中,碰到一个小问题,如何把一个浮点数按位反转,这个问题说大不大,说小不小,一开始觉得很容易,后来仔细考虑了一下,没有想像的那么简单. 思路 按照一般的python解决思路,肯定是寻找相 ...

  6. 「Splay」区间翻转

    传送门:>Here< 解法分析 用splay来维护这个序列. 一直没有搞明白的是,这里的splay的节点究竟维护的是什么?是权值吗?肯定不是,因为区间是会翻转的,如果维护权值的话很快平衡树 ...

  7. 洛谷 P2042 [NOI2005]维护数列-Splay(插入 删除 修改 翻转 求和 最大的子序列)

    因为要讲座,随便写一下,等讲完有时间好好写一篇splay的博客. 先直接上题目然后贴代码,具体讲解都写代码里了. 参考的博客等的链接都贴代码里了,有空再好好写. P2042 [NOI2005]维护数列 ...

  8. 7.翻转句子中单词的顺序[ReverseWordOrderInSentence]

    [题目] 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入“I am a student.”,则输出“stud ...

  9. [剑指Offer] 44.翻转单词顺序列

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student ...

随机推荐

  1. js用img代替ajax js心跳 向服务器定时传送参数 主要计算用户在线时长

    html: <!doctype html><html><head><meta charset="utf-8"><title&g ...

  2. maven项目强制自动更新所有jar包

    选中即可:

  3. Android——简易计算器(转)

    这是我的第一个andriod小程序,第一次写用了半个月,第二次修改用了一天,第三次修改用了两个小时,现在终于比较满意了.现在我就直接分享一下我的源代码,由于思路比较简单,注释加的不多.采用的是相对布局 ...

  4. find命令查找包含指定内容的文件

    find / | xargs grep function 查找系统根目录下面的所有文件的内容中包含有function字符串的文件列表. find .|xargs grep xfind . -exec ...

  5. mysql 分区处理数据

    记录一下分区代码: 1.建立存储过程,将原表按照时间转化为分区表,并建立当天分区 #alter table to partition table DELIMITER $$ USE `dc_log`$$ ...

  6. Android训练课程(Android Training) - 高效的显示图片

    高效的显示图片(Displaying BitmapsEfficiently) 了解如何使用通用的技术来处理和读取位图对象,让您的用户界面(UI)组件是可响应的,并避免超过你的应用程序内存限制的方式.如 ...

  7. TIDB介绍 新数据库趋势

    TIDB是什么? TIDB 受谷歌Spanner和F1的论文启发的new sql数据库,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL等特性,同类数据库还 ...

  8. PCL点云分割(2)

    关于点云的分割算是我想做的机械臂抓取中十分重要的俄一部分,所以首先学习如果使用点云库处理我用kinect获取的点云的数据,本例程也是我自己慢慢修改程序并结合官方API 的解说实现的,其中有很多细节如果 ...

  9. jquery 发get post请求

    https://www.cnblogs.com/summers/p/3225375.html POST 方法不会缓存数据 $.get(URL,callback); 2个参数 callback 参数是请 ...

  10. 微信小程序——获取元素的宽高等属性

    微信小程序里面无法像用jquery一样获取到元素的节点.小程序提供了一个wx.createSelectorQuery()来获取元素的相关信息.官方的文档对于它的用法都已经写的很详细了. 我直接上在项目 ...