feat(boards): python_mixpy turtle下添加 tracer 图形块

This commit is contained in:
王立帮
2025-12-15 11:41:59 +08:00
parent 0ff5878d5f
commit d7ebdc7b08
6 changed files with 54 additions and 4 deletions

View File

@@ -424,7 +424,6 @@ export const turtle_visible = {
}
};
export const turtle_bgcolor = {
init: function () {
@@ -438,6 +437,25 @@ export const turtle_bgcolor = {
}
};
export const turtle_tracer = {
init: function () {
this.setColour(TURTLE_HUE);
this.appendDummyInput()
.appendField(Blockly.Msg.MIXLY_TURTLE_TRACER);
this.appendValueInput('STEP')
.setCheck(null)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_TURTLE_TRACER_STEP);
this.appendValueInput('DELAY')
.setCheck(null)
.setAlign(Blockly.inputs.Align.RIGHT)
.appendField(Blockly.Msg.MIXLY_TURTLE_TRACER_DELAY_MS);
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);
}
};
export const turtle_pencolor = {
init: function () {
this.appendValueInput('TUR')

View File

@@ -173,6 +173,14 @@ export const turtle_bgcolor = function (_, generator) {
return code;
}
export const turtle_tracer = function (_, generator) {
generator.definitions_.import_turtle = "import turtle";
const STEP = generator.valueToCode(this, 'STEP', generator.ORDER_ASSIGNMENT) || '1';
const DELAY = generator.valueToCode(this, 'DELAY', generator.ORDER_ASSIGNMENT) || 'None';
var code = `turtle.tracer(${STEP}, delay=${DELAY})\n`;
return code;
}
export const turtle_pencolor = function (_, generator) {
generator.definitions_.import_turtle = "import turtle";
var varName = generator.valueToCode(this, 'TUR', generator.ORDER_ASSIGNMENT) || '0';

View File

@@ -1921,6 +1921,19 @@
</shadow>
</value>
</block>
<block type="turtle_tracer">
<value name="STEP">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
</value>
<value name="DELAY">
<shadow type="math_number">
<field name="NUM">1000</field>
</shadow>
<block type="logic_null"></block>
</value>
</block>
<block type="turtle_pencolor_hex_new">
<value name="TUR">
<shadow type="variables_get">

View File

@@ -4108,5 +4108,9 @@ En.MIXLY_SOUND_VOLUME_SET_TOOLTIP='Set volume';
En.MIXLY_SOUND_VOLUME_ADD_TOOLTIP='Change volume';
En.MIXLY_SOUND_EFFECT_SET_TOOLTIP='Set sound effect';
En.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP='Clear sound effects';
En.MIXLY_SOUND_EFFECT_ADD_TOOLTIP='Change sound effect';
En.MIXLY_SOUND_EFFECT_ADD_TOOLTIP='Change sound effect';
En.MIXLY_TURTLE_TRACER = 'Set the drawing refresh rate';
En.MIXLY_TURTLE_TRACER_STEP = 'Number of steps';
En.MIXLY_TURTLE_TRACER_DELAY_MS = 'Delay (milliseconds)';
})();

View File

@@ -4291,6 +4291,9 @@ ZhHans.MIXLY_SOUND_VOLUME_SET_TOOLTIP='设置音量';
ZhHans.MIXLY_SOUND_VOLUME_ADD_TOOLTIP='增加音量';
ZhHans.MIXLY_SOUND_EFFECT_SET_TOOLTIP='将音效设为';
ZhHans.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP='清除音效';
ZhHans.MIXLY_SOUND_EFFECT_ADD_TOOLTIP='将音效增加';
ZhHans.MIXLY_SOUND_EFFECT_ADD_TOOLTIP='将音效增加';
ZhHans.MIXLY_TURTLE_TRACER = '设置绘图刷新频率';
ZhHans.MIXLY_TURTLE_TRACER_STEP = '步数';
ZhHans.MIXLY_TURTLE_TRACER_DELAY_MS = '延迟 (毫秒)';
})();

View File

@@ -4261,5 +4261,9 @@ ZhHant.MIXLY_SOUND_VOLUME_SET_TOOLTIP='設置音量';
ZhHant.MIXLY_SOUND_VOLUME_ADD_TOOLTIP='增加音量';
ZhHant.MIXLY_SOUND_EFFECT_SET_TOOLTIP='將音效設為';
ZhHant.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP='清除音效';
ZhHant.MIXLY_SOUND_EFFECT_ADD_TOOLTIP='將音效增加';
ZhHant.MIXLY_SOUND_EFFECT_ADD_TOOLTIP='將音效增加';
ZhHant.MIXLY_TURTLE_TRACER = '設定繪圖刷新頻率';
ZhHant.MIXLY_TURTLE_TRACER_STEP = '步數';
ZhHant.MIXLY_TURTLE_TRACER_DELAY_MS = '延遲 (毫秒)';
})();