Open smallnewer opened 9 years ago
PIXI的事件更贴合web开发者的使用习惯。但同时也有一些潜规则在里面。
当一个触摸事件发生时,PIXI究竟是如何判断应该分派给哪个元素?其过程大概如下:
obj.interactive = true
判断子元素是否被手指(鼠标)碰撞
4.1 通过hitArea判断碰撞 4.2 通过containPoint方法判断碰撞 4.3 子元素的后代是否和手指发生碰撞
了解这个流程更容易调试事件失效的问题。相反,DOM的事件机制要成熟的多,不需要二次开发,更是基本没有BUG。
虽然大概流程如上,但有些具体的东西还需要说明一下。
首先,containPoint方法只有Graphcis和Sprite的实例才有。也就是说,Container系列是没有的。Container是通过其后代元素是否碰撞的逻辑来决定自己是否和触摸点碰撞。
未完待补充
PIXI的事件更贴合web开发者的使用习惯。但同时也有一些潜规则在里面。
触发流程
当一个触摸事件发生时,PIXI究竟是如何判断应该分派给哪个元素?其过程大概如下:
obj.interactive = true
)判断子元素是否被手指(鼠标)碰撞
4.1 通过hitArea判断碰撞 4.2 通过containPoint方法判断碰撞 4.3 子元素的后代是否和手指发生碰撞
了解这个流程更容易调试事件失效的问题。相反,DOM的事件机制要成熟的多,不需要二次开发,更是基本没有BUG。
潜在BUG
虽然大概流程如上,但有些具体的东西还需要说明一下。
首先,containPoint方法只有Graphcis和Sprite的实例才有。也就是说,Container系列是没有的。Container是通过其后代元素是否碰撞的逻辑来决定自己是否和触摸点碰撞。
未完待补充