← Все вопросы

Как сделать диалог двух персонажей в Scratch?

Задан 22 месяца назад769 просмотров2 ответа
9

Хочу, чтобы два моих героя разговаривали по очереди, как в мультике. Как сделать диалог между спрайтами в скретче, чтобы они не перебивали друг друга?

2 ответа

13
✓ Принятый ответ — помог автору

Чтобы герои говорили по очереди и не перебивали друг друга, их надо «подружить» сообщениями. 💬 Используем блоки «передать сообщение» и «когда получу сообщение» из полки «События».

Сообщение — это как невидимая записка: один герой её бросает, другой ловит и начинает говорить.

Спрайт 1 (Кот) начинает диалог:

когда нажат зелёный флажок
сказать «Привет, как дела?» 2 секунд
передать «ход собаки»

Спрайт 2 (Собака) ждёт записку и отвечает:

когда получу «ход собаки»
сказать «Отлично! А у тебя?» 2 секунд
передать «ход кота»

И снова Кот ловит ответ:

когда получу «ход кота»
сказать «Тоже супер!» 2 секунд

Как это устроено: кот говорит → бросает записку «ход собаки» → собака ловит и говорит → бросает «ход кота» → кот ловит и отвечает. Получается аккуратная беседа без перебиваний! 🐱🐶

Как создать сообщение: в блоке «передать» открой список и выбери «Новое сообщение», придумай имя (например, «ход собаки»).

Частая ошибка: дать обоим героям просто «сказать» по зелёному флажку. Тогда они заговорят одновременно, и облачка наложатся. Секрет именно в передаче сообщений по очереди. ✅

5

Способ попроще, если героев двигаешь не ты: можно расставить паузы блоками «ждать». Пока один говорит 2 секунды, другой ждёт 2 секунды, потом наоборот.

Но это хрупко — чуть сдвинул время, и они снова перебивают друг друга. Сообщения («передать»/«когда получу») надёжнее, потому что следующий герой стартует ровно тогда, когда предыдущий закончил. 🙂

Ваш ответ

Войдите, чтобы ответить на вопрос.