{"enrichment":{"faq":[{"a":"pixijs-events enables you to capture all input types through its federated event system. Bind listeners to display objects using `.on()` for events like `pointerdown`, `pointerup`, `pointermove`, and `wheel`. The skill teaches you to configure `eventMode` (set to `'static'` or `'dynamic'`) to enable interactivity, set up `hitArea` for precise hit testing, and manage event listeners across your scene graph. pixijs-events covers both basic click handling and advanced multi-touch scenarios.","q":"How do I handle pointer, mouse, touch, and wheel input events in pixijs?"},{"a":"pixijs-events explains that `eventMode` controls whether a display object can receive events. Set it to `'static'` for objects that don't move (more performant), or `'dynamic'` for moving objects that need continuous hit testing. The `'auto'` mode lets PixiJS decide based on object properties. pixijs-events shows how choosing the right mode optimizes event performance while ensuring your interactive elements respond correctly to user input.","q":"What is pixijs eventmode and how do I use static vs dynamic?"},{"a":"pixijs-events teaches drag-and-drop by listening to `pointerdown` to start tracking, then using `globalpointermove` to follow the cursor across the entire stage regardless of object boundaries. Store the pointer offset on `pointerdown`, update object position during `globalpointermove`, and clean up on `pointerup`. This approach prevents event bubbling issues and works smoothly even when dragging outside the original object's bounds.","q":"How can I implement drag-and-drop using globalpointermove in pixijs?"},{"a":"pixijs-events shows that making sprites clickable requires three steps: set `eventMode` to `'static'` or `'dynamic'`, define a `hitArea` (or let PixiJS use the sprite's bounds), then attach a listener with `.on('pointertap', callback)`. For custom shapes, define `hitArea` as a Rectangle, Circle, or Polygon. pixijs-events covers both simple button clicks and complex interactive scenes with multiple clickable objects.","q":"How do I make a pixijs sprite clickable and respond to clicks?"},{"a":"pixijs-events explains that events bubble up the display hierarchy by default\u2014from child to parent. Use `.stopPropagation()` to prevent bubbling or configure `interactiveChildren` to control whether parent objects receive events from children. The skill covers capture phase handling, event delegation patterns, and how to structure your scene graph to manage complex event flows efficiently in games and interactive applications.","q":"What are event propagation and capture phases in pixijs scene graphs?"},{"a":"pixijs-events teaches performance optimization by using precise `hitArea` definitions instead of relying on sprite bounds, reducing unnecessary hit tests. Configure `eventFeatures` to disable unused event types, and choose `eventMode` carefully\u2014`'static'` is faster than `'dynamic'`. The skill shows how these techniques prevent performance bottlenecks in applications with many interactive objects, especially important for games and data visualizations.","q":"How can I optimize event performance with eventFeatures and hitArea?"}],"shadow_tags":["input-handling","pointer-tracking","drag-and-drop","hit-detection","event-propagation","interactive-ui","gesture-recognition","performance-optimization","cross-device-input"],"summary_rewrite":"Master input handling in PixiJS v8 by learning how to capture and respond to pointer, mouse, touch, and wheel events. This skill covers event binding techniques, listener management, and best practices for building responsive interactive graphics. Perfect for developers building games and applications with PixiJS's fast 2D rendering engine."},"files":[{"bytes":12276,"path":"skills/pixijs-events/SKILL.md","sha256":"37cb0444f92996a1f3b3c5ae7a14b20ac21cb9ebe6002374b94d45631621f63c","url":"https://skillfed.io/files/pixijs/pixijs-skills/pixijs-events/b13fed27/SKILL.md"}],"id":"pixijs/pixijs-skills/pixijs-events","links":{"html":"https://skillfed.io/pixijs/pixijs-skills/pixijs-events","md":"https://skillfed.io/pixijs/pixijs-skills/pixijs-events.md","repo":"https://github.com/pixijs/pixijs-skills"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":16,"language":null,"last_updated":"2026-06-04","license":"MIT","name":"pixijs-events","publisher":"pixijs","stars":293},"relations":{"similar":[{"id":"pixijs/pixijs-skills/pixijs-accessibility"},{"id":"pixijs/pixijs-skills/pixijs-migration-v8"},{"id":"gamedev-skills/awesome-gamedev-agent-skills/pixijs-rendering"},{"id":"pixijs/pixijs-skills/pixijs"},{"id":"phaserjs/phaser/input-keyboard-mouse-touch"},{"id":"pixijs/pixijs-skills/pixijs-scene-container"},{"id":"pixijs/pixijs-skills/pixijs-math"},{"id":"pixijs/pixijs-skills/pixijs-performance"},{"id":"pixijs/pixijs-skills/pixijs-scene-sprite"},{"id":"pixijs/pixijs-skills/pixijs-blend-modes"}]},"slug":{"owner":"pixijs","repo":"pixijs-skills","skill":"pixijs-events"},"version":"b13fed27"}
