事件(event):
PIXI库在精灵和舞台上提供了事件,用于交互.
stage.click = function(data){ var event = data.originalEvent } sprite.click = function(data){ var event = data.originalEvent var target = event.target //阻止默认行为,sprite.buttonMode = false; event.preventDefault(); }
此外,还有.mousedown,.mouseover,.mouseout,.mousemove,.mouseup ,.mouseupoutside , .touchstart,.touchend,.tap
注意事项:
- 对于有事件的精灵,通常需要设置sprite.interactive = true , 对于作按钮用的精灵,需要设置sprite.buttonMode = true;
- 与DOM的事件不同的是,精灵中的事件,是进行了二次封装的,
- 通常需要用var event = data.originalEvent来与普通dom中的event对象保持一至
不过又不完全相同,如data.originalEvent.stopPropagation()就不起作用.
关于stopPropagation的问题,我问过pixijs的开发者,他答复说stopPropagation是dom中的概念,在canvas/webGL中是没有的,所以不能说是pixi的问题。
补充:
click事件只在PC端有效,在移动端给精灵绑定点击事件可以用 .touchstart,.touchend,.tap 等
参考链接:https://www.cnblogs.com/afrog/p/4056378.html https://blog.csdn.net/zeping891103/article/details/70208945