DroidScript
DroidScript
скрипим понемногу

Взбодрим Scratch-кота программным кодом в моде Sheeptester

19.04.2024

На прошлых занятиях мы создали расширение для текстового программирования в моде Scratch 3. Осталось научиться управлять спрайтами при помощи программного кода.

Перед изменения свойств спрайта сначала его нужно получить. Это можно сделать разными способами.

Одни методы возвращают ссылку на спрайт, другие на объекты. Это сделано потому, что в качестве объектов могут выступать не только спрайты, но и сцены.

Реализацию методов для понимания того, как их использовать можно посмотреть в исходных файлах. Мы же перечислим методы, многие из которых можно применить не задумываясь.

Помимо выполнения методов объектов можно также программно выполнять находящиеся в редакторе блоки. В этом нам поможет метод toggleScript:

runtime.toggleScript (topBlockId, opts) topBlockId — это идентификатор блока, opts – необязательные опции

topBlockId в данном случае является строковым кодом операции opcode. Например, блок перемещения спрайта имеет opcode = "motion_movesteps".

Коды операции блоков можно посмотреть в консоли браузера. Объекты имеют поле blocks -> _blocks, в котором находятся все блоки, принадлежащие выбранному объекту.

В некоторых случаях можно обойтись без блоков и, например, посылать объекту нужные команды напрямую при помощи метода runtime.emit. Заставим кота поздороваться:

var target = runtime.getEditingTarget(); runtime.emit('SAY', target, "say", "Привет!")

А теперь предложим коту подумать:

var target = runtime.getEditingTarget(); runtime.emit('SAY', target, "think", "Куда бы мне пойти?")

Или задать вопрос:

var target = runtime.getEditingTarget(); runtime.emit('QUESTION', "Поиграем?");
© 2016-2024 
actech