首先,来看下代码:
声明文件:
#ifndef __loading__MoreTouches__
#define __loading__MoreTouches__
#include <iostream>
#include "cocos2d.h"
USING_NS_CC;
class MoreTouches :public CCLayer
{
public:
bool init();
//virtual void registerWithTouchDispather(void); //由于是继承自CCLayer,这个方法就不用重写了,但下面几个方法还是要重写滴
virtual void ccTouchesCancellnd(CCSet *pTouches,CCEvent *pEvent);
virtual void ccTouchesBegan(CCSet *pTouches,CCEvent *pEvent);//注意这个方法和单点触控方法的返回类型不同
virtual void ccTouchesEnded(CCSet *pTouches,CCEvent *pEvent);
virtual void ccTouchesMoved(CCSet *pTouches,CCEvent *pEvent);
static CCScene *scene();
virtual void onEnter();
virtual void onExit();
CREATE_FUNC(MoreTouches);
public:
double distance; //两个触摸点之间的距离
double deltax; //目标x轴的改变值
double deltay; //目标y轴的改变值
CCSprite *bg; //目标精灵
double mscale; //初始地图缩放比例
};
#endif /* defined(__loading__MoreTouches__) */
定义文件:
#include "MoreTouches.h"
bool MoreTouches::init()
{
if(!CCLayer::init())
{
return false;
}
bg=CCSprite::create("fullbg.png"); //初始化目标图片
this->addChild(bg);
mscale=1.0; //初始化图片的缩放比例
return true;
}
//void MoreTouches::registerWithTouchDispather()
//{
// CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0);
//}
void MoreTouches::ccTo