Cocos2d-x单点触摸-创新互联

Cocos2d-x 单点触摸

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的丹棱网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

首先,要在.h文件中注册触摸事件的回调方法:

bool ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
void ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);
void ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent);

.cpp文件实现如下:

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !CCLayer::init() )
    {
        return false;
    }
    //在实现单点触摸之前,需要为我们的触摸事件进行注册:
    //这里的三个参数,第一个:是哪个对象进行触摸注册,第二个:触摸优先级   第三个是否吞噬掉本次触摸事件
    CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
                            
    //所谓触摸事件的优先级,就是如果我们在一个场景中注册了多个触摸事件,谁会先接受到这次触摸事件,优先级数值越小,优先级越高,也就会优先得到这次触摸事件,它可以选择是否处理这次触摸,以及是否将这次触摸传递下去.值得一提的是,CCMenu的优先级是-128。
    //所谓吞噬事件,就是说如果我们选择true,并且处理这个事件,那么触摸事件就不会发送给其他代理。
       return true;
}

//开始触摸的回调方法
bool HelloWorld::ccTouchBegan(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
    //获取openGL坐标
    CCPoint openglPoint = pTouch->getLocation();
    CCLog("openGL = %f,%f",openglPoint.x,openglPoint.y);
    //获取屏幕坐标,原点在左上角
    CCPoint screenPoint = pTouch->getLocationInView();
    CCLog("屏幕坐标 = %f,%f",screenPoint.x,screenPoint.y);
                        
    return true;
}

//触摸移动时的回调方法
void HelloWorld::ccTouchMoved(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
    //获得前一个点的坐标
    CCPoint startPoint = pTouch->getPreviousLocation();
                    
                    
    //获得当前点的坐标  是按屏幕的坐标获取的就是说以左上角为原点。
    CCPoint endPoint = pTouch->getLocation();
                    
                  
    CCLog("startPointX = %f,startPointY = %f",startPoint.x,startPoint.y);
    CCLog("endPointX = %f,endPointY = %f",endPoint.x,endPoint.y);
}

//触摸结束时的回调方法
void HelloWorld::ccTouchEnded(cocos2d::CCTouch *pTouch, cocos2d::CCEvent *pEvent)
{
              
}

代码下载 http://pan.baidu.com/share/link?shareid=2820307714&uk=3189484501

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

新闻标题:Cocos2d-x单点触摸-创新互联
URL地址:https://www.cdcxhl.com/article10/ddjedo.html

成都网站建设公司_创新互联,为您提供做网站服务器托管网站内链电子商务企业建站手机网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设