用两个图片初始化两个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. 【神经网络】BP反向传播神经网络

    BP算法细节 参数说明:假设有n层.J表示代价函数,和上面的E是同样的意思,只不过用不同的字母写而已. 分析:要想知道第l层的第i个结点的残差,必须知道层已经计算出来了残差,你只要把后面一层的每个结点 ...

  2. 通过Python的JIRA库操作JIRA

    [本文出自天外归云的博客园] 前提 需要安装jira库: pip install jira 编写脚本 例如,我想统计一下某一jira的备注里是否有如下信息,没有则给予提示: [产品需求文档地址]:ht ...

  3. CTF之PHP黑魔法总结

    继上一篇php各版本的姿势(不同版本的利用特性),文章总结了php版本差异,现在在来一篇本地日记总结的php黑魔法,是以前做CTF时遇到并记录的,很适合在做CTF代码审计的时候翻翻看看. 一.要求变量 ...

  4. java基础篇---I/O技术(一)

    对于任何程序设计语言而言,输入输出(I/O)系统都是比较复杂的而且还是比较核心的.在java.io.包中提供了相关的API. java中流的概念划分 流的方向: 输入流:数据源到程序(inputStr ...

  5. [转]关于重定向RedirectAttributes的用法

    刚才做项目的时候看到一篇写的很不错的博客,解决我之前对于RedirectAttributes的困惑,也给大家推荐下~ 原文地址https://zhuanlan.zhihu.com/p/21353217 ...

  6. 老项目Xcode5.1编译器错误

    老项目编译器错误html, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: 0px; pa ...

  7. 多平台的网站实现单点登录系统(SSO)的开发思路 让你的会员中心更加统一(参考资料)

    单点登录并不是一个新鲜的玩意儿,比较官方的解释是企业业务整合的解决方案之一,通俗来讲SSO就是一个通用的用户中心,国内比较流行的UCenter就是一套单点登录解决方案.而近期以CSDN明文存储用户密码 ...

  8. C++学习笔记(HelloWorld,类型和值)

    现在有一个从控制台读取输入的小程序: #include "../std_lib_facilities.h" int main() { cout << "Ple ...

  9. linux brctl command not found

    [root@localhost ~]# brctl-bash: brctl: command not found 解决方法: [root@localhost ~]# yum install bridg ...

  10. 升级 Elasticsearch 集群数量实战记录

    搜索引擎 升级 Elasticsearch 集群数量实战记录 现在线上有一个elasticsearch集群搜索服务有三台elasticsearch实例(es1.es2.es3),打算将其升级为5台(增 ...