Quick answer: Construct 3 touch events firing on objects that have already been destroyed? Touch ID outlives object destruction - validate object before firing event.

Tap an enemy; tap fires the destroy action. Continued same-finger drag triggers events on destroyed enemy.

Validate object

Touch event handler: check 'enemy exists' before action. Destroyed objects don't fire.

Or use 'On any touch end' to reset

Reset gesture state at touch end. Each touch starts fresh.

Track touch-to-object map

Map active touches to their target object at touch start. Subsequent moves/ends check the original target.

“Touch IDs aren't object-bound. Bindings need to be made explicit.”

If your game has rapid object destruction with continued interaction (e.g., bubble-pop), the touch-to-object map is the foundation.

Related reading