转自: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/+)
{
lpSprite->setPosition(ccp(lpSprite->getPosition().x, s.height/+));
} if(lpSprite->getPosition().y < s.height/-)
{
lpSprite->setPosition(ccp(lpSprite->getPosition().x, s.height/-));
}
printf(" ccTouchMoved --------------\n"); //获得前一个触摸点坐标
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>}

cocos2d-x 触摸偏移的更多相关文章

  1. cocos2d CCLayer 触摸相关

    要让一个  CCLayer 能够接受触摸输入  需要进行如下设置: [selfsetTouchEnabled:YES]; cocos2d-x提供了两种触摸事件处理机制, 分别是CCStandardTo ...

  2. cocos2d-x学习日志(10) --射击游戏(喵星战争)

    转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487 一.纵版射击游戏的特点 纵版射击游戏是一种 ...

  3. cocos2d-x 手势之简单实现

    转自:http://blog.sina.com.cn/s/blog_61ece099010187tl.html 手势之前也发过一篇,但是我感觉那个还不够轻巧. 而且大多数游戏里面不会有那么复杂的手势, ...

  4. HTCVive使用

    1.设备的安装与配置 https://wenku.baidu.com/view/fa172fd7482fb4daa48d4b44.html?from=search 2.接入SDK.实现简单示例场景.更 ...

  5. 关于Unity中的Input输入事件

    截获鼠标,键盘的消息 监听事件我们都是在Update里面监听的. Unity的虚拟轴打开:Edit-->Project Settings-->Input,打开的各个Name就是双引号里面要 ...

  6. 【Cocos2d入门教程六】Cocos2d-x事件篇之触摸

    Cocos游戏当中产生一个事件时,可以有多个对象在监听该事件,所以有优先级(Priority).优先级越高(Priority值越小),事件响应越靠前. 关系图: 新 事件分发机制:在2.x 版本事件处 ...

  7. cocos2d触摸事件处理机制(2.x和3.x变化)

    2.x的触摸事件的版本号 触摸事件处理有2种子.以下单点触摸的样本.(另一种多点触摸屏). 创建cocos2d 该项目. 1. 重写下面虚函数. bool ccTouchBegan(cocos2d:: ...

  8. Cocos2D v3.x中关于重叠触摸层优先级的问题

    在Cocos2D v2.x版本中可以通过以下方法设置本层的触摸优先级: [[CCDirector sharedDirector].touchDispatcher addTargetedDelegate ...

  9. [cocos2d] 谁摸了我一下----触摸事件处理

    1. 设置接受触摸事件,可在init方法里面写上 [self setTouchEnabled: YES]; 旧版为self.isTouchEnabled = YES; xcode会报Deprecati ...

随机推荐

  1. TOP命令详解

    TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中C ...

  2. jquery获取元素索引值index()方法

    jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数. 如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的 ...

  3. 锋利的JQuery-Jquery中DOM操作

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  4. Pomelo服务器琐碎方法

    1.获取客户端ip地址:session__session__.__socket__remoteAddress.ip 2.日志文件无法打印到文件,删除node_modules/pomelo/node_m ...

  5. bzoj2818gcd

    原理很简单 题解我就不自己写了…… 做这题的时候,懂得了一个非常重要的转化:求(x, y) = k, 1 <= x, y <= n的对数等于求(x, y) = 1, 1 <= x, ...

  6. oracle server配置:监听程序未启动或数据库服务未注册到该监听程序

    第一次安装oracle时,时完全没有任何问题的, 但是当我去配置oracle_home时,误按之下进入了Database Configuration Assistant, 然后配置已有的一个数据库,就 ...

  7. (Android Studio)添加按钮以及权重问题

    此文大部分摘自http://hukai.me/android-training-course-in-chinese/basics/firstapp/building-ui.html 注意到光标所在代码 ...

  8. selenium在chrome上运行报 Element is not clickable at point (1096, 26)

    Firefox上正常运行的脚本在chrome上提示Element is not clickable at point (1096, 26).分析原因,首先肯定不是因为页面元素不存在而无法点击.也不是要 ...

  9. Zabbix探索:网络设备监控1

    近期需要大量添加网络设备,为了避免以后在节点100上出现问题,所以特地申请了一台虚拟机,用作代理110. 虽然Zabbix模板中的英文很简单,但是为了同事着想,还是将大部分内容汉化了,避免今后说理解不 ...

  10. python def说明

    可以这样讲,def定义了一个模块的变量,或者说是类的变量.它本身是一个函数对象.属于对象的函数,就是对象的属性.当然,你也可以叫它“方法”. python 的函数和其他语言的函数有很大区别.它是可以被 ...