这是今天写窗口拖动时,忽然想到的一个变式
下面是一个简单的实现拖动物体的方法:
@property(cc.Node)
theNode: cc.Node = null; //这里在外部赋值
onLoad() {
this.theNode.on(cc.Node.EventType.TOUCH_MOVE, event => {
var delta = event.touch.getDelta(); //获取触点距离上一次事件移动的距离对象,对象包含 x 和 y 属性
this.theNode.x += delta.x;
this.theNode.y += delta.y;
}, this)
}
这里点击的物体和移动的物体是同一个物体,但若点击的物体和移动的物体不是同一个又会有怎样的效果呢?
自然是在A物体上拖动,B物体会做移动,而A物体不动咯。
这不是王者荣耀拖动地图的方法吗?
@property(cc.Node)
ClickPart: cc.Node = null; //这里挂载一个空白区域的节点
@property(cc.Node)
Map: cc.Node = null; //这里挂载地图的节点
speed: number = 1; //修改这个数值可以控制地图拖动的灵敏度
onLoad() {
this.ClickPart.on(cc.Node.EventType.TOUCH_MOVE, event => {
var delta = event.touch.getDelta();
this.M