zoukankan      html  css  js  c++  java
  • cocos2d-x 触摸偏移

    转自:http://www.cnblogs.com/fjut/archive/2012/04/28/2475693.html

    //ccTouchBegan必须实现,否则会报错
    bool PicScan::ccTouchBegan(CCTouch* pTouch, CCEvent* event)
    {
        return true;
    }
     
    void PicScan::ccTouchMoved(CCTouch *touch, CCEvent *event)
    {
        //获得触摸点初始坐标
        CCPoint beginLoc = touch->locationInView(touch->view());
        beginLoc = CCDirector::sharedDirector()->convertToGL(beginLoc);
     
        //判断鼠标拖拉的区域是否在图片上
        if(CCRect::CCRectContainsPoint(lpSprite->boundingBox(), this->getParent()->convertTouchToNodeSpace(touch)) == true)
        {
            //固定图片在某个区域
            if(lpSprite->getPosition().y > s.height/2+50)
            {
                lpSprite->setPosition(ccp(lpSprite->getPosition().x, s.height/2+50));
            }
     
            if(lpSprite->getPosition().y < s.height/2-50)
            {
                lpSprite->setPosition(ccp(lpSprite->getPosition().x, s.height/2-50));
            }
            printf(" ccTouchMoved --------------
    ");
     
            //获得前一个触摸点坐标
            CCPoint endLoc = touch->previousLocationInView(touch->view());
            endLoc = CCDirector::sharedDirector()->convertToGL(endLoc);
     
            //计算偏移量
            CCPoint offSet = ccpSub(beginLoc, endLoc);
            Drag(offSet);
        }
     
    }
     
    void PicScan::Drag(CCPoint offSet)
    {
        //计算精灵坐标加上移动偏移量、并设置精灵位置
        CCPoint pos = ccpAdd(lpSprite->getPosition(), offSet);
        lpSprite->setPosition(pos);
        //.....<br>}
  • 相关阅读:
    博客模仿
    实体零售的数据分析与信息化之路
    巡店系统如何应用于连锁加盟店管理
    Dynamics CRM 常用的JS
    公众号被动消息回复原理
    form分辨率
    打开新网页 浏览图片
    网页浏览文件
    Model赋值返回json
    装载 反射
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/3191626.html
Copyright © 2011-2022 走看看