拖拽物体到屏幕边缘底图(地图)移动怎么实现

Creator 版本:2.0.9

如上图想拖动小番茄的时候 底下的绿色地图移动。向左拖动番茄,相对的地图向右移动。怎么实现??

我监听了小番茄的TOUCH_MOVE。到边缘时就滑不动了,求教。。。
doTouchMove(event:cc.Event.EventTouch){
let move = event.getLocation().sub(event.getPreviousLocation());

    this.node.x += move.x;
    this.node.y += move.y;

    let worldPos = this.node.parent.convertToWorldSpaceAR(this.node.position);


    if(worldPos.x <= Global.TitleWidth/2 + 20){
           this.map.move(cc.v2(-move.x , -move.y));            
    }
    else if(worldPos.x >= cvs.designResolution.width - (Global.TitleWidth/2 + 20)){
            this.map(cc.v2(-move.x , -move.y));                       
    }

}

  • Creator 版本:

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

单独用一个屏幕大小的节点处理触摸事件,然后判断触摸的是番茄还是背景,地图移动可以通过监听触摸点范围实现

兄弟 ,能不能描述的更详细点?

你之前针对番茄做事件监听,触摸监听事件的区域范围也只是在番茄节点大小范围的一个区域,单独用一个屏幕大小的节点处理触摸事件,这样就可以在整个屏幕范围内处理事件了 ,然后你监听触摸是否在屏幕边缘了,设置一个距离边缘值 distance(假设100) ,cc.touch.getLocation() 是否在一个区域范围内( cc.Rect)就好了,不在这个范围内就移动背景

在begin事件中记录开始移动,在update中监听 是否到达边际是否开始移动即可,因为在边际的时候你的move事件不会被继续触发了,需要其他的逻辑来触发移动事件

update中移动地图怎么可以做到比较平滑的移动呢? 我现在是在update中实现的 但是感觉不平滑

想根据手指的拖动来控制地图移动的快慢