diff --git a/src/compiler/blocks/compiler_pen.js b/src/compiler/blocks/compiler_pen.js index dee767a6..0d090c3f 100644 --- a/src/compiler/blocks/compiler_pen.js +++ b/src/compiler/blocks/compiler_pen.js @@ -15,6 +15,7 @@ module.exports.getStatements = () => { pen_changePenColorParamBy: changePenColorParamBy, pen_setPenColorParamTo: setPenColorParamTo, // Legacy blocks + pen_setPenHueToNumber: setPenHueToNumber, pen_changePenHueBy: changePenHueBy, pen_setPenShadeToNumber: setPenShade, }; @@ -63,6 +64,11 @@ const changePenSize = /** @param {StatementUtil} util */ (util) => { util.writeLn(`${pen}._changePenSizeBy(${SIZE.asNumber()}, target);`); }; +const setPenHueToNumber = /** @param {StatementUtil} util */ (util) => { + const HUE = util.input('HUE'); + util.writeLn(`${pen}._setPenHueToNumber(${HUE.asNumber()}, target);`); +}; + const changePenHueBy = /** @param {StatementUtil} util */ (util) => { const HUE = util.input('HUE'); util.writeLn(`${pen}._changePenHueBy(${HUE.asNumber()}, target);`); diff --git a/src/extensions/scratch3_pen/index.js b/src/extensions/scratch3_pen/index.js index 0be750ae..ccd314b4 100644 --- a/src/extensions/scratch3_pen/index.js +++ b/src/extensions/scratch3_pen/index.js @@ -698,12 +698,14 @@ class Scratch3PenBlocks { * @param {object} util - utility object provided by the runtime. */ setPenHueToNumber (args, util) { - const penState = this._getPenState(util.target); - const hueValue = Cast.toNumber(args.HUE); + this._setPenHueToNumber(Cast.toNumber(args.HUE), util.target); + } + _setPenHueToNumber (hueValue, target) { + const penState = this._getPenState(target); const colorValue = hueValue / 2; this._setOrChangeColorParam(ColorParam.COLOR, colorValue, penState, false); this._setOrChangeColorParam(ColorParam.TRANSPARENCY, 0, penState, false); - this._legacyUpdatePenColor(penState); + this._legacyUpdatePenColor(penState); } /**