我创建了一个精灵。现在能触摸拖动它,我想要拖动这个精灵进入另一个精灵时另一个精灵闪动(修改node.opacity),拖动离开时另一个精灵停止闪动(中途一直不放手)。
鼠标能实现mouseenter。触摸怎么办?
看了以前有个贴子大概说了一下用子节点的方式。可我刚学的javaScript实在是看不懂。
请问具体如何实现?
两个精灵都是canvas的子节点。
兄弟,用逻辑来写,在触摸移动事件里面写个判断两个节点是否有重叠部分的函数,可以给两个节点都挂上不规则组件,
cc.director.getCollisionManager().enabled=true;
this.collider1=this.node1.getComponent(cc.PolygonCollider);
this.collider2=this.node2.getComponent(cc.PolygonCollider);
然后在触摸移动事件中写
if(cc.Intersection.polygonPolygon(this.collider1.world.points,this.collider2.world.points)){
console.log(“闪”)
}else{
console.log(“不闪”)
}
为了防止多次触发,可以加个boolean变量挡住它
谢兄弟。按兄弟说的用碰撞系统完美解决。
问题暂时保留一下吧,我想看看还有没有别的解决方案。
触摸不就是 touchmove 的时候,判断一下是否有触发过 touchstart 吗?
A精灵的touchStart,move,end都正常,其实我是想问:拖动A精灵经过B精灵的时候,B精灵怎样才能能触发某事件。
碰撞检测