Заметки по Scratch

  • Когда используется циклический блок повторить … раз, то он выполняется немного дольше, чем если бы все блоки (сокращенные) были бы подряд установлены для выполнения.
  • ШК8 ПН Дмитрий, Алексей, Иван, Матвей.
  • Если вы перемещаете спрайт по сцене и при этом у вас работает программа, то блок перейти в x, y не изменит свои значения! Чтобы значения в блоке изменились необходимо остановить работу программы и тогда только передвигать спрайт по сцене.
  • Если в проекте Scratch в коде присутствует триггер — когда кликнут по сцене или когда спрайт нажат, то неважно, что проект остановлен, нажатием на красную кнопку! Все равно будет срабатывать триггер! Он как бы запускает автоматически проект (нажимается зеленый флаг). Поэтому для удобства отладки программы, необходимо временно отключить исполняемый скрипт от этих триггеров. Не менее важным моментом является — не забыть подключить обратно, чтобы проверить работоспособность всего проекта!)
  • Если в проекте есть несколько спрайтов и мышкой взять и подвигать один из спрайтов на сцене, то спрайт перейдет на верхний слой и может перекрыть при перезапуске проекта другие спрайты. Он не вернется на свой слой при перезапуске проекта. Поэтому необходимо с помощью блока — перейти на слой настроить принудительно слой спрайта с которого он сошел, когда мы его двигали мышкой. (требуется дальнейшее изучение этого факта)
  • Если запустить отдельно триггер — когда я начинаю как клон, но при этом клоны не будут созданы, то все блоки, которые содержит блок — когда я начинаю как клон, применятся для оригинала спрайта. При этом ,если в коде есть блок — удалить клон, оригинал спрайта не удалится! Блок — удалить клон сработает, но он не может удалить оригинал спрайта.
  • Когда запускается в работу скрипт с блоками, где присутствует блок — создать клон, то автоматически при этом будет работать скрипт триггера — когда я начинаю как клон.
  • Когда во время отладки без запуска всего проекта необходимо запустить триггер — когда  я получу сообщение, его можно запустить только с помощью запуска соответствующего блока — передать сообщение. Просто кликнув по триггеру — он запустится, но его блоки не отработают. (необходимо изучить этот момент)
  • К вопросу по Scratch (Бесшовный непрерывный фон для игры) от наших студентов.  Ответ: Когда мы используем движущийся спрайт для создания фона, необходимо чтобы размеры спрайта были строго 480*360 PX. Только тогда мы можем их показывать встык и они не будут накладываться друг на друга. При этом, когда мы используем два спрайта — мы не используем уже блок у первого спрайта — создать клон самого себя. У нас же теперь есть второй спрайт вместо клона. И еще — оба спрайта для создания бесшовного фона должны быть абсолютно одинаковые по размеру — это обязательно. Чтобы их создать одинаковыми достаточно перетащить мышкой костюм первого спрайта на второй спрайт. Тогда два спрайта будут иметь абсолютно одинаковые костюмы по размеру.
  • Не совсем понятен тот факт, что если применить к спрайту блок — спрятаться, то некоторые скрипты спрайта не выполняются. Если же применять блок — прозрачность, то скрипты спрайта выполняются. Необходимо изучить этот момент. После проведенного опыта в проекте Scratch удалось выяснить, что если у спрайта есть переменная, то она видна при работе программы только тогда, когда этот спрайт виден или, в крайнем случае, у спрайта опущено перо. В противном случае переменная не доступна к изменению. Получается, если спрайт будет спрятан, то и спрячутся любые переменные этого спрайта. И поэтому не смогут отработать те части кода спрайта, которые включают в себя работу с переменными спрайта.
  • Если изменять переменную в блоке — повторять всегда. Изменение переменной происходит, но скорость изменения разная. Для более корректного управляемого изменения переменной необходимо добавить блок — ждать … сек.
  • Старайтесь всегда создавать клон конкретно оригиналом под триггером — когда нажат зеленый флаг. В противном случае клоны могут создавать клоны клонов и так с прогрессией. В связи с этим сильно увеличивается кол-во лишних клонов и корректная работа программы может быть нарушена.
  • Есть наблюдение, что клон не может менять локальную переменную — только для этого спрайта. Клон может менять переменную, если она создана глобальная — для всех спрайтов. (Необходимо дополнительно изучать этот момент)
  • Есть наблюдение, что если вручную передвигать мышкой спрайты на сцене, то они меняют свои слои расположения и после перезапуска программы не происходит обратного восстановления последовательности расположения слоев спрайтов во всем проекте. (Необходимо дополнительно изучать этот момент)
  • Есть наблюдение, что при расстановке векторных элементов в костюме фона сцены и переноса копированием этих элементов в спрайт, элементы смещаются. (Необходимо дополнительно изучать этот момент)