diff --git a/js/Interpreter.js b/js/Interpreter.js index 2c1a517..7669372 100644 --- a/js/Interpreter.js +++ b/js/Interpreter.js @@ -306,6 +306,9 @@ Interpreter.prototype.initPrims = function() { this.primitiveTable['timerReset'] = function(b) { interp.timerBase = Date.now(); }; this.primitiveTable['timer'] = function(b) { return (Date.now() - interp.timerBase) / 1000; }; + // added by Lucas + this.primitiveTable['stopScripts'] = function(b) { interp.activeThread = new Thread(null); interp.threads = []; }; + new Primitives().addPrimsTo(this.primitiveTable); }; diff --git a/js/Sprite.js b/js/Sprite.js index d9b788f..d32987d 100644 --- a/js/Sprite.js +++ b/js/Sprite.js @@ -113,6 +113,11 @@ var Sprite = function(data) { this.stacks = []; }; +// Creates a formatted URI for a costume image resource. +Sprite.prototype.formatCostumeImageUri = function(costume, io) { + return io.asset_base + costume.baseLayerMD5 + io.asset_suffix; +}; + // Attaches a Sprite (<img>) to a Scratch scene Sprite.prototype.attach = function(scene) { // Create textures and materials for each of the costumes. @@ -142,7 +147,7 @@ Sprite.prototype.attach = function(scene) { }) .attr({ 'crossOrigin': 'anonymous', - 'src': io.asset_base + this.costumes[c].baseLayerMD5 + io.asset_suffix + 'src': this.formatCostumeImageUri(this.costumes[c], io) }); }