Как найти чёрную кошку в тёмной комнате? Делаем флеш-игру rat's blog / 15.12.2014 На примере готовой игры «Накануне Рождества» я расскажу, как сделать подобную игру во Flash-программе на языке программирования ActionScript2. Опишу один из способов, коих множество! Надо сказать, что можно легко превратить эту развлекательную игру в учебную, например, в игру по географии по поиску стран или городов на карте; или в игру по биологии по поиску насекомых в траве; или в игру по информатике по поиску символов и т.д.Принцип игры таков: игроку нужно найти все спрятанные в игровом поле объекты и щёлкнуть по ним курсором. Если все объекты найдены, то осуществляется переход к другому кадру с надписью «Молодец!».Игра состоит всего из двух кадров. В каждом из этих кадров ставим команду stop, чтобы не происходил спонтанный переход от кадра к кадру при запуске игры. Размещаем в кадрах фон, - пейзаж или комнату, в которой спрячем котов. Вполне достаточно одну картинку кота поместить в мувиклип в библиотеке, а затем, размещая котов на сцене игрового кадра, присваивать копиям мувиклипов с одним и тем же котом, имена с разными порядковыми номерами от нуля до любого количества, как вам хочется: «cat0», «cat1», «cat2», «cat3», «cat4», «cat5», «cat6», «cat7», «cat8», «cat9». У меня в игре 10 котов. Одного я замаскировала аж на Луне… Далее пишем код для игры в специальном мувиклипе «Action». Этот мувиклип размещаем в игровом кадре за сценой (он невидимый).При загрузке клипа в нем создается массив found. Следующий код заполняет массив значениями false:onClipEvent (load) {// Создаем массив, в который записываем, какие коты найдены found = [];for (i=0; i<10; i++) {found[i] = false;}}При нажатии левой кнопки мыши положение курсора сохраняется в переменных х и у. Затем, при помощи функции hitTest эти значения соотносятся с координатами клипов котов. Когда совпадение найдено, соответствующее изображение подсвечивается красноватым цветом. Цвет, кстати, можно запрограммировать любой, - главное, чтобы он контрастировал с фоном. Подсветка нужна для того, чтобы изображение спрятанного кота выделилось из фона, и игрок видел, какого кота он уже нашёл и щёлкнул курсором по нему. Каждый щелчок мышью запускает проверку массива found на наличие значения false. Это означает, что, по крайней мере, ещё один кот пока не найден. Когда все коты найдены, клип переходит к следующему кадру:onClipEvent (mouseDown) {// Определяем, в каком месте пользователь щелкнул мышью.х = _root._xmouse;у = _root._ymouse;// Проверяем, какое изображение кота найдено, for (i=0; i<10; i++) {if (_root"cat"+i], hitTest(x, y, false)) {// Изменяем цвет кота.myColor = new Color(_root["cat"+i]);myColor.setTransform({rb:100,bb:10,gb:0});// Запоминаем, что кот найденfound[i] = true;break;// Проверяем, все ли коты найдены.gameover = true;for (i=0; i<10; i++) {if (found[i] == false) {// Если хотя бы один кот еще не найден, игра не закончена.gameover = false;//если пользователь нашёл всех котов, то заканчиваем игру,if (gameover) {_root.gotoAndPlay ("Game Over");}}При этом "Game Over" это метка второго кадра или имя второй сцены, куда выходит игрок, найдя всех котов и щёлкнув по ним. В игре можно менять количество объектов (котов), можно менять цвет подсветки, фон, сюжет, но принцип останется одинаковым для подобных игр. Все три игры сделаны по одному принципу: "Включи свет, найди котов", игра "Санта", игра "Коты в доме". исходный код скрипты флеш-игра