Есть несколько разных способов сделать это.Есть способы сделать это с меньшим количеством сценариев или меньшим количеством спрайтов и используя различные методы.Вот два способа, показывающие два разных метода и бонус в конце.
Давайте начнем с самого простого пути.
4 спрайта, 8 скриптов, 16 блоков.Использует трансляции.
В этом мы будем использовать четыре спрайта:
У нас есть скретч-спрайт,Спрайт Gobo, спрайт ShowGoboButton и спрайт ShowScratchButton.
Каждый из этих спрайтов содержит сценарии.
Для двух спрайтов, которые отображаются и исчезают при нажатии кнопок - Gobo и Scratch- нам нужно, чтобы они показывались и исчезали, когда происходит событие - когда нажата кнопка.Что-то должно произойти, когда кнопка нажата.Как мы это делаем?С КОГДА ЭТОМ СПРИТ-ЩЕЛЧКОМ.Используя это вместе с другим блоком, блоками BROADCAST, мы можем заставить его что-то делать при нажатии.
Так вот, что спрайт ShowGoboButton имеет в своих скриптах:
Когда кнопка нажата, она передает сообщение ... но в данный момент оно передает в пустоту.Никто не слушает радиопередачу.Спрайты Гобо (и Царапины) должны прослушивать трансляцию, а затем показывать или скрывать в зависимости от того, что он слышит.
Вот что Гобо скрывает в сценариях:
Сценарий WHEN GREEN FLAG CLICKED показывает спрайт при запуске проекта.Два других, которые начинаются с блока шляпы WHEN I RECEIVE, - это то, как он прослушивает трансляцию.Он слушает оба сообщения, и если он правильный, он показывает.Если он неправильный, он скрывается.
От них экстраполируйте на два других спрайта - это точно такой же код, но в обратном порядке.
Это самый простой и эффективный способи способ, которым новичок будет лучше всего делать.Однако, если вы находитесь на немного более высоком уровне, тогда лучше использовать переменные.
4 спрайта, 4 скрипта, 26 блоков.Использует переменные.
Вместо широковещания, теперь мы установим переменную.Переменная может быть найдена в разделе «Данные» при поиске блоков.
Так что подождите - что такое переменная, точно?
Переменная похожа на блок, который временно содержит то, что выположить в это.Вы можете поместить любую переменную в переменную - числа, буквы, смесь ...
Таким образом, наша переменная будет называться "WhichSpriteShows", и мы собираемся использовать это поле для хранения данных длякакой спрайт должен показывать.
Попадая в код, оглянемся на трансляции.Вместо того, чтобы кнопка транслировалась, теперь мы установим переменную.
Так вот, что сейчас делает GoboButton:
Кнопка больше не передает сообщение;теперь он просто меняет то, что находится в коробке.
И поэтому теперь, вместо того, чтобы Гобо слушал трансляцию, мы заставили Гобо обратить внимание на то, какая переменная установлена - что находится в коробке.
Вот что у Гобо внутри:
Вау, вау, вау.Что с FOREVER, спросите вы.Почему мы сначала устанавливаем для WhichSpriteShows значение 0?Почему бы просто не скрыть спрайт, если для переменной задано что-либо, кроме "Gobo", вставив простой блок HIDE в часть ELSE блока IF ..., ELSE вместо выполнения, казалось бы, избыточной проверки, чтобы увидеть, установлено ли для нее значение "Поцарапайте "?
FOREVER необходим, чтобы скрипт всегда прослушивал, чтобы видеть текущее состояние переменной.
Решение установить" WhichSpriteShows "в" 0 "вначало, а также дополнительная проверка, чтобы увидеть, установлено ли это для определенного ELSE, чтобы оба спрайта показывались в начале, когда щелкают по зеленому флагу.Если вы этого не хотите, вы можете изменить код соответствующим образом:)
Как и в случае трансляций, экстраполируйте на спрайты Scratch.
Бонус
Теперь ... если вы хотите получить действительно фантазия и использование меньшего количества спрайтов, это можно сделать всего двумя спрайтами.Магия клонов.Я не буду здесь объяснять слишком много, потому что все должно быть относительно самоочевидным, и если вы делаете самый сложный способ, о котором я вам рассказываю, то вы должны быть либо Scratcher, либо хотите что-то сломать.
2 спрайта, 3 скрипта, 61 блок.Использует клоны.
Чтобы понять, как это работает, вам нужно посмотреть, как настроена сцена:
Сценарии для спрайта кнопки относительно просты:
И сценарии спрайта тоже не слишком сумасшедшие:
Если хотите, вы можете поиграть с проектом, который я использовал, чтобы сделать это над здесь .