处理输入
大多数积木将一个或多个值作为输入(也称为参数)。这里有一个报告两个值是否严格相等的积木,因此与 Scratch 的 = 积木不同,它将 "a" 和 "A" 视为不同(下载):
class StrictEqualityExtension {
getInfo() {
return {
id: 'strictequalityexample',
name: 'Strict Equality',
blocks: [
{
opcode: 'strictlyEquals',
blockType: Scratch.BlockType.BOOLEAN,
text: '[ONE] strictly equals [TWO]',
arguments: {
ONE: {
type: Scratch.ArgumentType.STRING
},
TWO: {
type: Scratch.ArgumentType.STRING,
defaultValue: 'Second value'
}
}
}
]
};
}
strictlyEquals(args) {
return args.ONE === args.TWO;
}
}
Scratch.extensions.register(new StrictEqualityExtension());
声明参数
向积木添加一个 arguments 对象。每个键是一个参数。键名可以是您喜欢的任何格式(全大写是常见约定)。每个参数通常设置:
| 字段 | 类型 | 描述 |
|---|---|---|
type | Scratch.ArgumentType.* | 输入的形状以及默认文本框接受的内容。这只是编辑器的提示;您的代码收到的值仍然可以是任何类型。 |
defaultValue | string | 可选。在积木区中预填的值。不要设置在布尔输入上。 |
menu | string | 将输入变成下拉框。下面介绍。 |
参数类型:
| 值 | 接受 | 示例 |
|---|---|---|
Scratch.ArgumentType.STRING | 任何文本 | 苹果, 123, true |
Scratch.ArgumentType.NUMBER | 一个数字 | 123 |
Scratch.ArgumentType.BOOLEAN | 一个布尔输入槽;拒绝放入非布尔值 | true |
Scratch.ArgumentType.COLOR | 十六进制颜色 | #ff4c4c |
Scratch.ArgumentType.ANGLE | 方向表盘(0 = 上,90 = 右,顺时针增加) | 90 |
Scratch.ArgumentType.MATRIX | 5x5 开/关网格 | 1110101010... |
Scratch.ArgumentType.NOTE | 钢琴音符选择器 | 60 |
Scratch.ArgumentType.COSTUME | 当前角色中的造型名称 | 造型1 |
Scratch.ArgumentType.SOUND | 当前角色中的声音名称 | 录制1 |
Scratch.ArgumentType.IMAGE | 内联图像,不是输入(请参阅杂项 API) | 不适用 |