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