上篇文章写了Paddle类来处理精灵的点击、触摸事件,现在我们在Paddle的基础上
写一个MyPaddle类,来处理上一关、下一关、开始游戏按钮的点击事件。
1.类声明如下:
class MyPaddle :
public Paddle
{
CC_SYNTHESIZE(enum_evt, m_evttyp, evttyp);
CC_SYNTHESIZE(ChoiceScene*, m_pSence, pSence);
public:
MyPaddle();
~MyPaddle();
virtual bool ccTouchBegan(CCTouch* touch, CCEvent* event);
virtual void ccTouchEnded(CCTouch* touch, CCEvent* event);
private:
bool bFlag;
};
2.其中bFlag用于标记是否被点击,我们处理ccTouchBegan和ccTouchEnded来处理点击事件:
bool MyPaddle::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
if (Paddle::ccTouchBegan(touch, event))
{
bFlag = true;
return true;
}
return false;
}
void MyPaddle::ccTouchEnded(CCTouch* touch, CCEvent* event)
{
Paddle::ccTouchEnded(touch, event);
if (bFlag)
{
bFlag = false;
m_pSence->touchDownAction(this, m_evttyp);
}
}