diff --git a/src/sprites/rendered-target.js b/src/sprites/rendered-target.js index 35204ec93..b17f39734 100644 --- a/src/sprites/rendered-target.js +++ b/src/sprites/rendered-target.js @@ -734,7 +734,11 @@ class RenderedTarget extends Target { if (!firstClone || !this.renderer) { return false; } - const drawableCandidates = firstClone.sprite.clones.map(clone => clone.drawableID); + // Filter out dragging targets. This means a sprite that is being dragged + // can detect other sprites using touching , but cannot be detected + // by other sprites while it is being dragged. This matches Scratch 2.0 behavior. + const drawableCandidates = firstClone.sprite.clones.filter(clone => !clone.dragging) + .map(clone => clone.drawableID); return this.renderer.isTouchingDrawables( this.drawableID, drawableCandidates); }