Организовать взаимодействие персонажей: различия между версиями
Patarakin (обсуждение | вклад) (Новая страница: « Категория:WikiHow») |
Patarakin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | {{HowTo practice | ||
+ | |Name=Организовать взаимодействие персонажей | ||
+ | |Description_of_problem=В искусственном мире есть несколько акторов-персонажей и мы хотим, чтобы они взаимодействовали между собой | ||
+ | |Environment=Scratch | ||
+ | |Solution=Каждый персонаж, который создали участники нашей команды, в начале истории будет прятаться и вставать в угол, где он колобка не учует. Появляться зверь этот зверь будет только тогда, когда его позовут - т.е. когда он получит сообщение. Например, медведь будет реагировать на сообщение “Приходи, медведь”. | ||
+ | Общая схема обмена сообщениями выглядит следующим образом: | ||
+ | * Колобок делает 10 шагов и посылает сообщение “Приходи, Медведь” | ||
+ | * Медведь получает это сообщение, приходит и посылает сообщение “Колобок, я, медведь, тебя съем” | ||
+ | * Колобок получает сообщение “Колобок, я, медведь, тебя съем” | ||
+ | * и в ответ посылает сообщение “Не ешь меня, медведь” | ||
+ | * Медведь получает “Не ешь меня, медведь” и уходит (прячется) | ||
+ | Вся наша история определяется только числом шагов Колобка. Сделал Колобок 10 шагов пришел Заяц. Сделал 100 шагов - пришел Медведь. Мы можем заранее прописать сообщения для всех предполагаемых персонажей сказки и организовать появление персонажей, через рассылку им сообщений: | ||
+ | |||
+ | Еще один важный момент. Если мы прописали команды поведения спрайта Медведь, то нам не нужно заново прописывать поведения Зайца, который ведет себя подобно Медведю и только реагирует на обращение не к Медведю, а к Зайцу. Мы берем блоки команд из спрайта Медведь и перетаскиваем (копируем) их в Зайца. | ||
+ | |||
+ | http://letopisi.org/images/1/15/Copy_spript.png | ||
+ | |||
+ | И в спрайте Зайца изменяем команду с Приходи медведь, на Приходи, Заяц | ||
+ | |||
+ | http://letopisi.org/images/5/5e/Change_message.png | ||
+ | |||
+ | |||
+ | Подробности переговоров Колобка, Зайца и Медведя можно посмотреть в проекте https://scratch.mit.edu/projects/212219937 | ||
+ | |||
+ | Участниками переговоров могут быть не только спрайты Колобка, Зайца и Медведя, но и спрайт Сцена. Мы можем для каждого героя определить внешний вид фона - нарисовать или взять из библиотеки готовых фонов. | ||
+ | |||
+ | http://letopisi.org/images/4/47/Fons_kolobok.png | ||
+ | |Code=; Скрипты, управляющие поведением медведя: | ||
+ | |||
+ | <scratchblocks> | ||
+ | когда я получу [Приходи, медведь v] | ||
+ | перейти в x: (0) y: (0) | ||
+ | показаться | ||
+ | сказать [Колобок, я тебя съем] | ||
+ | передать [Колобок, я, медведь, тебя съем! v] | ||
+ | |||
+ | когда я получу [Не ешь меня, медведь v] | ||
+ | перейти в x: (240) y: (160) | ||
+ | спрятаться | ||
+ | </scratchblocks> | ||
+ | |||
+ | ; Скрипт, управляющий ответом Колобка: | ||
+ | |||
+ | <scratchblocks> | ||
+ | когда щёлкнут по зелёному флагу | ||
+ | задать [Шаги Колобка v] значение [0] | ||
+ | всегда | ||
+ | если <[ 10 ] = (Шаги Колобка)> , то | ||
+ | передать [Приходи, заяц v] и ждать | ||
+ | end | ||
+ | если <[100] = (Шаги Колобка)> , то | ||
+ | передать [Приходи, медведь v] и ждать | ||
+ | end | ||
+ | end | ||
+ | |||
+ | когда я получу [Колобок, я, медведь, тебя съем! v] | ||
+ | говорить (слить (слить [Я от дедушки ушел, я от бабушки ушел и от тебя ] и [медведь]) и [ уйду!]) в течение (5) секунд | ||
+ | передать [Не ешь меня, медведь v] | ||
+ | |||
+ | когда я получу [Колобок, я, заяц, тебя съем! v] | ||
+ | говорить (слить (слить [Я от дедушки ушел, я от бабушки ушел и от тебя ] и [Заяц]) и [ уйду!]) в течение (5) секунд | ||
+ | передать [Не ешь меня, заяц v] | ||
+ | |||
+ | </scratchblocks> | ||
+ | |||
+ | ; Обмен сообщениями | ||
+ | |||
+ | <scratchblocks> | ||
+ | |||
+ | когда щёлкнут по зелёному флагу | ||
+ | сменить фон на [Начало v] | ||
+ | |||
+ | когда я получу [Приходи, заяц v] | ||
+ | сменить фон на [Заяц v] | ||
+ | |||
+ | когда я получу [Приходи, медведь v] | ||
+ | сменить фон на [Начало v] | ||
+ | |||
+ | </scratchblocks> | ||
+ | |url_example=https://scratch.mit.edu/studios/4819703/ | ||
+ | |similar_practices=Организовать взаимодействие пород агентов | ||
+ | }} | ||
[[Категория:WikiHow]] | [[Категория:WikiHow]] |
Версия 15:40, 13 сентября 2019
Name | Организовать взаимодействие персонажей |
---|---|
Описание проблемы | В искусственном мире есть несколько акторов-персонажей и мы хотим, чтобы они взаимодействовали между собой |
Среда | Scratch |
Предлагаемое решение | Каждый персонаж, который создали участники нашей команды, в начале истории будет прятаться и вставать в угол, где он колобка не учует. Появляться зверь этот зверь будет только тогда, когда его позовут - т.е. когда он получит сообщение. Например, медведь будет реагировать на сообщение “Приходи, медведь”.
Общая схема обмена сообщениями выглядит следующим образом:
Вся наша история определяется только числом шагов Колобка. Сделал Колобок 10 шагов пришел Заяц. Сделал 100 шагов - пришел Медведь. Мы можем заранее прописать сообщения для всех предполагаемых персонажей сказки и организовать появление персонажей, через рассылку им сообщений: Еще один важный момент. Если мы прописали команды поведения спрайта Медведь, то нам не нужно заново прописывать поведения Зайца, который ведет себя подобно Медведю и только реагирует на обращение не к Медведю, а к Зайцу. Мы берем блоки команд из спрайта Медведь и перетаскиваем (копируем) их в Зайца.
И в спрайте Зайца изменяем команду с Приходи медведь, на Приходи, Заяц
Участниками переговоров могут быть не только спрайты Колобка, Зайца и Медведя, но и спрайт Сцена. Мы можем для каждого героя определить внешний вид фона - нарисовать или взять из библиотеки готовых фонов.
|
Пример кода | ; Скрипты, управляющие поведением медведя:
'"`UNIQ--scratchblocks-00000000-QINU`"' ; Скрипт, управляющий ответом Колобка: '"`UNIQ--scratchblocks-00000001-QINU`"' ; Обмен сообщениями '"`UNIQ--scratchblocks-00000002-QINU`"' |
Адрес примера | https://scratch.mit.edu/studios/4819703/ |
Стандарты | |
сходные практики | Организовать взаимодействие пород агентов |
Ключевые понятия | |
FieldActivity |