Fix up property imports from SB2 (#196)

* Update target's drawable properties after SB2 import

* Always use `hasOwnProperty` parsing SB2 JSON
This commit is contained in:
Tim Mickel 2016-09-19 14:40:01 -04:00 committed by GitHub
parent 470f686662
commit 13f287e871

View file

@ -68,26 +68,27 @@ function parseScratchObject (object, runtime, topLevel) {
var target = sprite.createClone(); var target = sprite.createClone();
// Add it to the runtime's list of targets. // Add it to the runtime's list of targets.
runtime.targets.push(target); runtime.targets.push(target);
if (object.scratchX) { if (object.hasOwnProperty('scratchX')) {
target.x = object.scratchX; target.x = object.scratchX;
} }
if (object.scratchY) { if (object.hasOwnProperty('scratchY')) {
target.y = object.scratchY; target.y = object.scratchY;
} }
if (object.direction) { if (object.hasOwnProperty('direction')) {
target.direction = object.direction; target.direction = object.direction;
} }
if (object.scale) { if (object.hasOwnProperty('scale')) {
// SB2 stores as 1.0 = 100%; we use % in the VM. // SB2 stores as 1.0 = 100%; we use % in the VM.
target.size = object.scale * 100; target.size = object.scale * 100;
} }
if (object.visible) { if (object.hasOwnProperty('visible')) {
target.visible = object.visible; target.visible = object.visible;
} }
if (object.currentCostumeIndex) { if (object.hasOwnProperty('currentCostumeIndex')) {
target.currentCostume = object.currentCostumeIndex; target.currentCostume = object.currentCostumeIndex;
} }
target.isStage = topLevel; target.isStage = topLevel;
target.updateAllDrawableProperties();
// The stage will have child objects; recursively process them. // The stage will have child objects; recursively process them.
if (object.children) { if (object.children) {
for (var j = 0; j < object.children.length; j++) { for (var j = 0; j < object.children.length; j++) {