如图所示,我给图片加了一个collider
然后我想监听了点击事件:
this.node.on(Input.EventType.TOUCH_START, ()=>{
console.log(“按下选中”);
});
目前我这么写是吧监听事件加在node上,
我想吧监听加在我设置的菱形collider上,各位大佬有什么办法?
console.log(“按下选中”);
});
目前我这么写是吧监听事件加在node上,
我想吧监听加在我设置的菱形collider上,各位大佬有什么办法?
就是说我只想点击上面的菱形触发事件,点击别的地方没反应就好
上边再放一个
let Point = event.getLocation();
let point = camera.screenPointToRay(Point.x, Point.y);
let nodepos = this.node.getComponent(UITransform).convertToNodeSpaceAR(point.o);
Point = new Vec2(nodepos.x, nodepos.y);
let nodePoints = TouchNode.getComponent(PolygonCollider2D).points;
if (Intersection2D.pointInPolygon(Point, nodePoints)) {
// 点击到物体碰撞盒
}
实际上我这样吧方块叠起来,可点击的范围就变成我画的阴影那样了
我做成button了。还是一样的,可点击的范围一直是一个矩形
这可以解决单个问题,但是叠在一起还是检测方块。因为监听事件就是按照矩形监听的
我那个就是点击菱形的啊,我自己都在用
懂了懂了,我吧所有菱形[]都存起来,然后点击以后自己吧他们都拿出来循环判断
谢谢谢谢
节点的脚本加个touch监听就可以了啊,为啥要存起来再循环判断?
我这个单个监听的时候测试到的范围还是一个矩形,只不过这样判断就是不会选中,但是还是矩形
你怎么做到可以拖拽又可以点击的
节点监听点击事件就可以了,不要用按钮组件那些