diff options
| author | jmoenig <jens@moenig.org> | 2014-07-29 12:03:06 +0200 |
|---|---|---|
| committer | jmoenig <jens@moenig.org> | 2014-07-29 12:03:06 +0200 |
| commit | bef0e7a790119f3602683a144b9ddf894cb4d013 (patch) | |
| tree | 77acfb6753e83ee3546b89cdea05245c372e1519 | |
| parent | b451a08812fbf1a4ae0481005a62dc1743bbe333 (diff) | |
| download | snap-bef0e7a790119f3602683a144b9ddf894cb4d013.tar.gz snap-bef0e7a790119f3602683a144b9ddf894cb4d013.zip | |
export and import nested sprites
| -rw-r--r-- | gui.js | 2 | ||||
| -rwxr-xr-x | history.txt | 1 | ||||
| -rw-r--r-- | store.js | 21 |
3 files changed, 22 insertions, 2 deletions
@@ -2850,7 +2850,7 @@ IDE_Morph.prototype.exportGlobalBlocks = function () { }; IDE_Morph.prototype.exportSprite = function (sprite) { - var str = this.serializer.serialize(sprite); + var str = this.serializer.serialize(sprite.allParts()); window.open('data:text/xml,<sprites app="' + this.serializer.app + '" version="' diff --git a/history.txt b/history.txt index 0938517..c64bba8 100755 --- a/history.txt +++ b/history.txt @@ -2243,3 +2243,4 @@ ______ ------ * fixed #526, thanks, Bernat, for reporting it! * Objects, GUI: duplicate and clone nested sprites +* GUI, Store: export and import nested sprites @@ -61,7 +61,7 @@ SyntaxElementMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.store = '2014-Jun-04'; +modules.store = '2014-July-29'; // XML_Serializer /////////////////////////////////////////////////////// @@ -618,6 +618,25 @@ SnapSerializer.prototype.loadSprites = function (xmlString, ide) { sprite.gotoXY(+model.attributes.x || 0, +model.attributes.y || 0); myself.loadObject(sprite, model); }); + + // restore nesting associations + project.stage.children.forEach(function (sprite) { + var anchor; + if (sprite.nestingInfo) { // only sprites may have nesting info + anchor = project.sprites[sprite.nestingInfo.anchor]; + if (anchor) { + anchor.attachPart(sprite); + } + sprite.rotatesWithAnchor = (sprite.nestingInfo.synch === 'true'); + } + }); + project.stage.children.forEach(function (sprite) { + if (sprite.nestingInfo) { // only sprites may have nesting info + sprite.nestingScale = +(sprite.nestingInfo.scale || sprite.scale); + delete sprite.nestingInfo; + } + }); + this.objects = {}; this.project = {}; this.mediaDict = {}; |
