Построение квеста в Скретч Блог стайного советника / 07.12.2010 Сцены Скретч - полноценные объекты, которыми можно управлять. Двигаться они не умеют, а все остальное, со сценами, вполне можно делать. В этом сообщении расскажу о том, как можно превратить ряд сцен в пространство таблицы - игральной доски. Исходно у нас есть ряд, в котором 20 сцен. Мы хотим получить таблицу, в которой будет 5 рядов. В каждом ряду будет 4 сцены. Или пусть будет 4 ряда по 5 сцен. Или 8 рядов по 8 сцен. В общем случае - пусть у меня будет возможность собрать карту мира, состоящую из множества сцен. И пусть мой герой сможет по этой карте ходить и вправо и влево и вверх и вниз. Перемещение агента из комнаты в комнату = из сцены в сцену. Делается это в Скретче очень просто и естественно. Пришел агент к правому краю сцены и говорит сцене - "Иду направо". Сцена в ответ на это меняет свой костюм и показывает сцену, которая справа - у этой сцены номер на 1 больше текущего.Пришел агент к правому краю сцены и говорит сцене - "Иду налево". Сцена в ответ на это меняет свой костюм и показывает сцену, которая слева - у этой сцены номер на 1 меньше текущего.Первый вариант квеста. Собственно, это еще и не квест, а просто способ листать слайды - это просто какая-то презентация с анимированным читателем. Но на основе такой презентации, мы можем уже выращивать более сложные произведения. Например, мы можем добавлять задания или противников. Например, можем собрать Квест с фотографиями Оксфорда, в котором у героя есть миссия - собрать зеленые шарики, и есть противники, от которых надо уворачиваться:.Из проекта Простая прогулка по Нижнему Новгороду, где герой может двигаться только вправо и влево, можно собрать более сложную Прогулку с птицами, где на каждой сцене будет присутствовать своя птица, и эта птица может рассказывать свою собственную историю.В этом году в ходе обсуждения со студентами сценария квеста и построения мира, в котором живет множество героев, мы столкнулись с тем, что мир то у нас пока описан плохо. Вправо и влево перемещаться легко, а вот ходить вверх и вниз мы не умеем. Это был такой серьезный вызов и никто в группе решения сразу не предложил.Решили сначала сделать задачу более простой - убрать действующего героя и работать исключительно со сценами. Мы нажимаем стрелки, а у нас меняются фоновые изображения. Пришлось ввести несколько переменных:1) Общее число сцен или слайдов - к сожалению, Scratch сам не считает, сколько у него готовых слайдов-фонов есть для данной сцены.2) Число рядов - на сколько рядов мы хотим разделить число слайдов.3) Число слайдов в ряду - это 1/2 - ну, пусть уж будет, как отдельная переменная.4) Номер кадра - эта переменная будет действительно переменной - она будет меняться, и в зависимости от её значения, будет меняться фон сцены.Вот и все - весь проект уместился в одном скрипте, который связан только со сценой.Можно посмотреть реализацию этого проекта:Простое переключение сцен ВверхВнизВправоВлево - в самом проекте спрятаны изображения студентов НГПУ, с которыми мы обсуждали проблему квеста.Решили задачу для сцены - сделаем проект с героем. Объединим управление фоном с управлением героем. И здесь обнаружилась серьезная ошибка в реализации среды Scrtatch - при сохранении и дальнейшем импорте готового проекта русские имена переменных обрабатываются с ошибкой. Мораль - не используйте кириллицу в именах переменных.Пришлось обновить имена переменных. В программе используются глобальные переменные (Да Скретч и не позволяет делать локальные переменные для сцены. Для героев - пожалуйста. А для сцены - нельзя). В скрипт для героя ушло все управление и изменение номера кадра. Для сцены остался совсем короткий скрипт - установи фон = номер кадра.Результат можно посмотреть в проекте: Проект с картами Яндекс. Scratch игра проект скретч