哥们 能把代码粘贴一下吗。学习学习
我是在canvas 挂载的脚本
private Touch_sp:cc.Sprite=null;//鼠标图标
onLoad () {
this.Touch_sp=cc.find(“TouchSp”,this.node).getComponent(cc.Sprite)
this.Touch_sp.node.zIndex=1000
cc.game.canvas.style.cursor=“pointer”
this.node.on(cc.Node.EventType.MOUSE_ENTER,this.DragStart,this)
this.node.on(cc.Node.EventType.MOUSE_MOVE,this.Draging,this)
}
private DragStart(event)
{
let pos=this.node.convertToNodeSpaceAR(event.getLocation());
this.Touch_sp.node.setPosition(pos)
}
private Draging(event)
{
var delta = event.getDelta();
this.Touch_sp.node.x+=delta.x
this.Touch_sp.node.y+=delta.y
}
start () {
}
const {ccclass, property} = cc._decorator;
cc.debug.setDisplayStats(false);
@ccclass
export default class Helloworld extends cc.Component {
@property(cc.Label)
label: cc.Label = null;
@property(cc.Node)
mousenode: cc.Node = null;
@property
text: string = 'hello';
onLoad(){
cc.game.canvas.style.cursor = "none";
this.node.on(cc.Node.EventType.MOUSE_MOVE,(move:cc.Touch)=>{
console.log(move.getLocation());
this.mousenode.setPosition(this.node.convertToNodeSpaceAR(move.getLocation()));
})
}
start () {
// init logic
this.label.string = this.text;
}
}
完美,哈哈哈
大佬知道为什么 鼠标移动到其他的 节点之后 会 失去坐标偏移吗
我怀疑是触摸吞噬了,你把的层级设置为最上面。我是设置在最上面实现的。
zIndex 设置要很大吗? 还是 怎么设置
很大就行了,还有就是触摸的穿透,让它能够点击后面的按钮。
怀疑你的层级没有细分,或者应该为游戏分组,

node的 groupdefault
你这个适合拖动,如果始终要让鼠标图片跟随,应该直接赋予鼠标位置给节点
触摸的穿透指的是什么 。 我给一些界面加了一个 触摸检测 跟随的节点 ,滑到这里就失去触摸事件了 
你框的地方绑定有按钮或者别的什么吗?鼠标的节点全局最高的话不应该会失效。
嗯按你的代码改了
这个节点有个按住 拖拽的 事件

这个是我的目录结构,最后的节点就是鼠标节点,这样设置了拖拽和按钮是不影响的。
刚刚试了一下,是因为我的 面板都添加了 防止穿透的 block那个脚本 ,但是如果不添加这个 我的面板就会穿透 ,这时候应该咋弄
最简单粗暴的就是添加一个透明的吞噬层
能具体点吗, 我要采取你说的简单粗暴

