加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【Cocos2d-x】实现翻牌效果

发布时间:2020-12-14 19:54:15 所属栏目:百科 来源:网络整理
导读:翻牌效果可以使用CCOrbitCamera实现,这是一个CCAction,使精灵视角按照球面坐标轨迹 围绕屏幕中心进行旋转。【关于CCOrbitCamera】 翻牌需要两个精灵,一个表示牌的正面,一个表示牌的背面。当执行翻牌动作的时候:初始化正面的角度为向左90度、背面为0度—

翻牌效果可以使用CCOrbitCamera实现,这是一个CCAction,使精灵视角按照球面坐标轨迹 围绕屏幕中心进行旋转。【关于CCOrbitCamera】


翻牌需要两个精灵,一个表示牌的正面,一个表示牌的背面。当执行翻牌动作的时候:初始化正面的角度为向左90度、背面为0度——背面向右旋转90度——正面向右旋转90度,这就实现了一个翻牌的效果。


api说明:

t:动作时长

radius:球的半径

deltaRadius:球半径偏移量

angleZ:开始时z轴角度

deltaAngleZ:z轴角度偏移量

angleX:开始时x轴角度

deltaAngleX:x轴角度偏移量

static CCOrbitCamera* create(float t,float radius,float deltaRadius,float angleZ,float deltaAngleZ,float angleX,float deltaAngleX);


实现



调用示例


示例代码:

CCSize size = CCDirector::sharedDirector()->getVisibleSize();
//创建PokerSrpite,指定正面和背面所使用的图片路径
poker = PokerSprite::create("front.png","back.png");

//创建PokerSrpite,指定正面和背面所使用的CCSprite
//CCSprite* front = CCSprite::create("front.png")
//front->addChild(img);
//poker = PokerSprite::create(front,CCSprite::create("back.png"));

// 设置位置
poker->setPosition(ccp(size.width0.5,size.height0.5));

// 添加到Layer
addChild(poker);

//调用翻牌动作
poker->open();


效果图


项目地址:https://coding.net/u/linchaolong/p/Cocos2d-x_PokerSprite/git

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读