diff options
| author | jmoenig <jens@moenig.org> | 2015-01-21 17:15:58 +0100 |
|---|---|---|
| committer | jmoenig <jens@moenig.org> | 2015-01-21 17:15:58 +0100 |
| commit | 82552d0b294092a009a40a9761eadf0b5d3e753f (patch) | |
| tree | 1cc74972a6659e13137d165f161c07d692fa9719 /objects.js | |
| parent | 669704a90adf772f534c89fb4c3732236fef2b51 (diff) | |
| download | snap-yow-82552d0b294092a009a40a9761eadf0b5d3e753f.tar.gz snap-yow-82552d0b294092a009a40a9761eadf0b5d3e753f.zip | |
Fix speech bubbles of dragged nested sprites
Diffstat (limited to 'objects.js')
| -rw-r--r-- | objects.js | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -3155,14 +3155,11 @@ SpriteMorph.prototype.positionTalkBubble = function () { bubble.changed(); }; -// dragging and dropping adjustments b/c of talk bubbles +// dragging and dropping adjustments b/c of talk bubbles and parts SpriteMorph.prototype.prepareToBeGrabbed = function (hand) { - var bubble = this.talkBubble(); - this.recordLayers(); - if (!bubble) {return null; } this.removeShadow(); - bubble.hide(); + this.recordLayers(); if (!this.bounds.containsPoint(hand.position())) { this.setCenter(hand.position()); } @@ -4055,6 +4052,10 @@ SpriteMorph.prototype.recordLayers = function () { return; } this.layers = this.allParts(); + this.layers.forEach(function (part) { + var bubble = part.talkBubble(); + if (bubble) {bubble.hide(); } + }); this.layers.sort(function (x, y) { return stage.children.indexOf(x) < stage.children.indexOf(y) ? -1 : 1; @@ -4065,6 +4066,7 @@ SpriteMorph.prototype.restoreLayers = function () { if (this.layers && this.layers.length > 1) { this.layers.forEach(function (sprite) { sprite.comeToFront(); + sprite.positionTalkBubble(); }); } this.layers = null; |
