经过测试,利用cocos2dx引擎自带的setScaleX和setFlippedX即可实现,效果比较好。
详细代码如下:
//
// CCardNode.h
// SlotsBase
//
// Created by xujw on 16/5/27.
//
// 卡牌类,实现类似扑克翻牌效果,默认翻牌时间为0.5s,建议时间为0.3-1.0f
#ifndef CCardNode_h
#define CCardNode_h
#include <stdio.h>
#include "cocos2d.h"
USING_NS_CC;
#define SKEW_DEGREE 10
class CCardNode:public Node
{
public:
typedef enum
{
kCardFront = 0,
kCardBack = 1,
}ECardState;
typedef struct CData
{
std::string dataStr;
int dataInt;
long dataLong;
CData(const std::string &str,int idata,long ldata)
{
dataStr = str;
dataInt = idata;
dataLong = ldata;
};
CData(){}
}CardData;
public:
CCardNode();
~CCardNode();
/**
* 创建一张卡牌
*
* @param frontSpFile 正面资源图片
* @param backSpFile 反面资源图片
* @param state 显示牌面 默认显示背面
*
* @return 卡牌
*/
static CCardNode* createCard(const std::string &frontSpFile,const std::string &backSpFile,ECardState state=kCardBack);
static CCardNode* createCard(const std::