【Cocos2d-x】实现翻牌效果

翻牌效果可以使用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


你可能感兴趣的:(【Cocos2d-x】实现翻牌效果)