Занятие №17 "Переменные клонов"
Каждый спрайт имеет список свойств, включая его положение х, положение у, направление и т. д. Можно представить этот список как рюкзак, в котором хранятся текущие величины атрибутов спрайта
Когда вы создаете переменную, имеющую область определения Только для этого спрайта, она добавляется в рюкзак спрайта.

Когда вы клонируете спрайт, клон наследует копии атрибутов родителя, в том числе переменные. Унаследованное свойство вначале идентично свойству спрайта-родителя — каким оно было на момент создания клона. Но если после этого атрибуты и переменные клона меняются, эти перемены не оказывают никакого воздействия на спрайт-родителя. А изменения спрайта-родителя никак не сказываются на свойствах клонов.
Клоны наследуют копии переменных спрайта-родителя
Предположим, у спрайта-родителя есть переменная скорость, чья текущая величина равна 10. Когда вы клонируете этот спрайт, новый также будет иметь переменную скорость, равную 10. Если после этого скорость спрайта-родителя изменится и будет равна 20, величина переменной скорость у клона по-прежнему будет равна 10.

Вы можете использовать это свойство для того, чтобы отличать один клон от другого в вашем приложении
Спрайт-родитель в данном примере имеет переменную с именем клонНомер. Если кликнуть по зеленому флажку, в результате повтора возникнет три клона, при создании каждого из которых задается разное значение переменной клонНомер (в данном случае — 1, 2, 3). У каждого клона при его появлении на свет имеется своя копия переменной клонНомер со своим уникальным значением. Теперь вы можете использовать блок если, который мы подробно изучим в следующей главе, чтобы проверить идентификатор клона и заставить каждый клон выполнить определенные действия.

Теперь посмотрим, как клоны взаимодействуют с глобальными переменными. Переменные с областью определения Для всех спрайтов могут читаться и переписываться Сценой и всеми спрайтами, не исключая клонов. Например, программа ниже, использует эту особенность, чтобы проверить, все ли клоны спрайта-родителя исчезли.
В данном скрипте спрайт-родитель задает величину глобальной переменной числоКлонов равной пяти и создает пять клонов. Затем ждет, пока числоКлонов не станет равна нулю, и объявляет, что игра закончилась. Клоны возникают через случайные промежутки времени и в случайно выбранных местах на Сцене, говорят «Привет!» в течение двух секунд, а затем исчезают. Когда все пять клонов исчезли, числоКлонов равна нулю, основной скрипт выходит из режима ожидания и спрайт- родитель объявляет: «Игра окончена!»

Scratch - Учись играя!
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website