Macromedia flash как делать игры

Обновлено: 04.07.2024

В этой лекции речь пойдёт о создании небольшой flash-игрушки — «Старая лампа». Это игра из категории так называемых «стрелялок». Кто же в них не играл? Теперь попробуем сделать простенький вариант такой игры самостоятельно. Набросаем предварительный «эскиз» нашей работы.

В нашем ролике будет два кадра. На первом кадре мы разместим: декорации, 7 ламп, по которым мы будем стрелять, а также текстовой блок Dynamic Text, для вывода очков, набранных в ходе игры. Если пользователь «разобьёт» все лампы мы должны перевести его на второй кадр, где его будут ждать поздравления, результаты, а также предложение начать игру сначала. Для исполнения задуманного, нам нужно создать и подготовить к работе несколько объектов:

  • клип прицел (pricel);
  • кнопку со звуковым эффектом — бьющееся стекло (lampbam);
  • клип, имитирующий возгорание лампы, обеспечивающий подсчёт количества разбитых ламп, а также организующий вывод этой информации на экран (strelba);
  • кнопку, которая обеспечит обнуление итогов игры и позволит пользователю начать игру заново (reset).

Первостепенная наша задача создать прицел (собственный курсор мыши). Это, пожалуй, самое интересное в этой лекции. Чтобы скрыть стандартный курсор (указатель мыши), используется hide метод предопределённого объекта Mouse. Для использования Movie Clip как собственного курсора, применяется уже знакомая вам команда startDrag.

Создайте Movie Clip для использования его в качестве собственного курсора. Вынесите его на сцену и пропишите ему скрипт:

Включите опцию Lock mouse to center. Протестируйте ролик.

Примечание: При использовании собственного курсора, кнопки, находящиеся в клипе, будут функционировать, как и раньше. Поэтому будет лучше, если собственный курсор вы будете размещать в верхнем слое палитры Timeline, чтобы он перемещался над кнопками и другими объектами. В нашем примере Movie Clip pricel размещён на одноимённом слое.

Создайте кнопку со звуковым эффектом (бьющееся стекло) — lampbam. Обратите внимание, что ключевыми в этой кнопке являются только кадры Up и Down, в кадр Up размещён графический символ lampa. В кадр Down помещён звук. Остальные кадры получены с использованием команды Insert Frame.

Создайте Movie Clip — strelba. Организуйте в клипе два слоя.

Слой button — на нём разместите созданную вами кнопку — lampbam. На этом слое будет только один кадр! Кнопке пропишите скрипт:

Этот код говорит о том, что если пользователь нажмёт на кнопку, управление будет передано кадру №2.

Слой bam — здесь вы должны организовать работу трёх ключевых кадров.

Ключевой кадр №1: Разместите на нём графический символ lampa. А самому кадру пропишите скрипт:

Ключевой кадр №2: На нём размещена просто некая графическая группа (огонь — имитация воспламенения). Этому кадру поставьте метку: bam. Для того чтобы «языки пламени» подольше задержались на экране, вставьте ещё два кадра Insert Frame.

Ключевой кадр №3(№5): В этом кадре нет графики он пустой. Но! Это ключевой кадр и ему вы должны прописать скрипт:

Создайте кнопку reset, которая позволит пользователю обнулить результаты игры и начать её заново. Дизайн кнопки вы можете продумать самостоятельно.

Теперь, когда всё подготовлено, вплотную займитесь сценой.

Создайте слой pricel и разместите на нём одноимённый клип (первый кадр слоя ключевой!). Кадров на слое два.

Создайте слой text, на котором будет размещено табло для подсчёта очков. В нашем случае вы используете и статический текст (Static text) и динамический текст (Dynamic Text). Не забудьте прописать имя переменной для динамического текста (в нашем примере Var: score). Кадров на слое два.

Кадр №1: На нём расположен текст, позволяющий отслеживать результат во время «стрельбы» (Dynamic Text). Кадру пропишите скрипт:

Кадр №2: На нём также расположен текст. Поздравления, результат игры, а самое главное кнопка reset. Для того чтобы она добросовестно выполняла свои обязанности, пропишите ей скрипт:

Этот кадр вы должны обязательно пометить: Label: end.

Создайте слой lamp. На этом слое только один кадр. На нём разместите 7 ламп (7 Movie Clip — strelba).

Создайте слой decorat. На этом слое тоже только один кадр. Здесь разместите стол, на котором будут стоять лампы.

Протестируйте свой ролик.

В ролике, представленном в этой лекции лампы-мишени движутся, а программа считает не только попадания, но и промахи игрока!

Домашнее задание: Основы программирования в Macromedia Flash MX

Со знанием должно быть обязательно связано умение… Печальное явление, когда голова ученика наполнена большим или меньшим количеством знаний, но он не научился применять, так что о нём приходиться сказать, что хотя он кое-что знает, но ничего не умеет.
Адольф Дистервег

Создайте ролик с движущейся мишенью и ограничением времени стрельбы.

Выполненное задание представьте в виде файла в формате fla (если размер файла превысит 150 Кб, пожалуйста, упакуйте файл в архив) и вышлите учителю.

Тест: Основы программирования в Macromedia Flash MX

В материалы теста входят вопросы, которые позволят вам проверить прочность знаний полученных в ходе работы над третьим—седьмым модулем курса.
Тест создан в Macromedia Flash MX и представляет собой интерактивный flash-ролик: Загрузить тест в новом окне

Курсовой проект: Основы программирования в Macromedia Flash MX

Знания, полученные в рамках изучения электронной школы, должны быть положены в основу создания интерактивного приложения — программы теста и игры. Тематика, положенная в основу создания интерактивного приложения, не определена никакими рамками, кроме морально-этических.

Курсовой проект следует представить в виде файла в формате fla. Упакуйте, пожалуйста, файл в архив и вышлите учителю.



Самая старая игра на сайте Newgrounds была загружена в 2000 году

Adobe Flash (ранее Macromedia Flash) — пожалуй, самая большая сокровищница в истории игр. За двадцать лет под неё вышли буквально десятки тысяч игр: библиотека обширнее, чем у любой игровой приставки. И через два года всё это может исчезнуть.

Впрочем, вернёмся к тем временам, когда сигнал тревоги ещё не прозвучал.

История Flash (по крайней мере, игр) — длинная и сложная тема, которая гораздо лучше раскрыта в фильме (см. выше). Там даже рассказано о множестве «эпох» флэш-игр, а я могу поделиться собственным опытом.

Около десяти лет назад я учился в школе. Мои родители были не слишком богаты; в основном приходилось сидеть на диалапе, как и многим австралийцам. На игру для приставки можно было рассчитывать только на день рождения или другой праздник, поэтому в новые игры мы играли нечасто. К тому же и в школу надо было ходить почти каждый день, так что большинство из нас искали какую-то форму лёгкого развлечения, чтобы убить время в редкие часы отдыха.



NotDoppler в мае 2018 года. Не тот сайт, на который я заходил в юности, но часто представлял себе такой

Флэш-порталы были главным врагом сисадминов на работе, в школах и где угодно, где от людей требовали работы за компьютером. Их были сотни, на каждом огромный выбор игр, абсолютно везде ТАНКИ, но на многих сайтах присутствовали и свои уникальные игры. На каждый заблокированный сисадмином сайт мгновенно появлялись два новых.

У Flash было много преимуществ в то время: он без проблем работал на всех видах ПК через браузер, большинство игр были маленькими, не генерировали много трафика — они просто работали большую часть времени. Все могли зайти на сайт, чтобы взорвать друг друга в многопользовательских ТАНКАХ или впасть в бесконечную депрессию в «Самой сложной в мире игре» (The World’s Hardest Game), или попробовать понять безумную логику троллей-авторов «Невозможной викторины» (The Impossible Quiz). И это лишь три примера. Как я уже сказал, на многих сайтах были тысячи таких игр, буквально тысячи — каждая запускалась одним щелчком мышки в браузере.

Впрочем, постараемся не забыть тех, кто начинал с платформы Flash. Среди самых известных — Эдмунд Макмиллен (автор игр The Binding of Isaac и Super Meat Boy), он начинал с флэша. Студия Cellar Door Games, известная тайтлом Rogue Legacy, начинала с игры Don’t Sh*t Your Pants на флэше. И флэш-технология на самом деле использовалась во многих высокобюджетных играх.



Благодарите Flash за эту ужасающую картинку

И мы даже не считаем замечательные игры, которые стали частью общественного сознания. Список настолько велик, что уйдут часы на их перечисление. Зачем это делать, если вам достаточно пойти на Newgrounds, отсортировать игры по рейтингу — и играть во всё подряд, пока ещё есть такая возможность.

И вот на эти последние несколько слов я хочу обратить ваше внимание.

Основная проблема Flash в том, что он известен как огромная дыра в безопасности. Большинство людей не особо любят Flash, и у них есть причины: Flash нагружает CPU, в середине 2000-х на нём повсеместно делали рекламные баннеры, которые замедляли ПК. Количество дыр Flash, которые требуется залатать, равносильно попытке герметизировать «Титаник» после раскола пополам.

И с изобретением мобильных устройств (и печально известным заявлением Стива Джобса, что платформа Flash не подходит для экосистемы Apple) многие разработчики отошли от Flash, а вместе с ними и бóльшая часть рынка казуальных игр, и спустя годы рынок сдулся. Современные каталоги мобильных игр напоминают флэш-порталы прежних лет.



Видите сходство?

С изобретением более универсальной технологии HTML5 дни Flash были сочтены. Начиная с 2020 года Flash больше не будет поддерживаться Adobe, никаких обновлений и патчей. В конце концов вскроется ещё больше уязвимостей в безопасности, что подтолкнёт разработчиков браузеров полностью удалить Flash. Так, Firefox пообещал отключить Flash по умолчанию для всех пользователей к следующему году, а Chrome пообещал полностью удалить плагин до конца 2020 года.

Посмотрите на скриншот чуть выше, а именно на правую часть — Newgrounds на момент написания данной статьи. Все эти двадцать игр работают на Adobe Flash. Если в вашем браузере больше нет плагина для запуска этих игр, то что с ними станет? Неужели 3500 страниц игр с сайта Newgrounds просто исчезнут?


Ещё рано ставить финальную точку, хотя.

Никто не знает, что будет. Эти компании — Armor Games, Kongregate, Newgrounds, NotDoppler и все остальные флэш-порталы — не объявляли о своих планах. Некоторые из них могут выжить (поскольку каждый из перечисленных сайтов содержит игры не на флэше, такие как Unity или HTML5), но при этом исчезнет 90% их игровых библиотек просто потому что никто не сможет их запускать.

Когда никто больше не может запускать эти игры, зачем держать их копии на серверах? Несложно представить, что владельцы порталов посчитают эти игры не стоящими усилий по привлечению маленькой аудитории пользователей со специально модифицированными браузерами (или просто старыми версиями браузеров). Когда это произойдёт, мы попрощаемся с флэш-играми навсегда.

Конечно, некоторые из них можно сохранить локально на жёсткий диск. В большинстве случаев (более 90% игр, по моему личному и совершенно ненадёжному обоснованному предположению) игры смогут по-прежнему запускаться в чём-то вроде автономного Adobe Flash Player одним нажатием кнопки. Но как насчёт игр, которые не запустятся?


Сейчас такой вариант сработает для большинства игр

Есть некоторые исключения, которые большинство людей не смогут обойти самостоятельно или, по крайней мере, без технических усилий. Главная проблема — залочка на сервер (sitelocking): большое количество игр разработаны с DRM, который просто не позволит вам играть вне соответствующих серверов.


В игре Cube Escape: The Cave вы никогда не пройдёте за этот экран без дополнительных усилий

И конечно, нельзя забывать про полностью онлайновые игры, будь то мультиплеер или просто сохранение в облаке. Вы не сможете долго играть в Pokemon Tower Defense, если не сохранитесь в облаке.

Добавьте сюда игры, которые требуют много внешних ресурсов — и у вас проблемы. Многие флэш-игры часто загружают части по отдельности (опять же, это было важно в эпоху диалапа, где один мегабайт выкачивался час, если повезёт). Если у вас нет локальной копии этих файлов, вы попали.



Сравните, слева: копия Gateway II без загрузки внешних файлов, справа: с одним внешним файлом

«Но кто-то наверняка захочет сохранить эти игры! Мы пока ни одной не потеряли навсегда! Ещё есть время!»



Побалуйте себя взглядом на мёртвую игру

La Insula de Sancho — это приключенческая трилогия, выпущенная примерно в 2005 году. В своё время она была очень популярна среди испаноязычных: сотни статей, скриншотов и даже пошаговых руководств для всей серии доступны в интернете. Но у их домена истёк срок действия, а поскольку игра запрограммирована на получение внешних ресурсов с указанного сервера, то теперь не воспроизводится практически ни в какой форме. Даже после тщательного поиска я не смог найти полной копии, в которую можно играть.

В ближайшие полтора года это может произойти буквально с любой флэш-игрой.

Проблема понятна, но лично я мало что могу с этим поделать. Это первая из причин, почему я начал писать эту статью — чтобы привлечь как можно больше внимания к проблеме. Учитывая, что мои попытки решить её в настоящее время являются единственными, о которых я знаю… ну, вы понимаете.

Вопрос в следующем: что делается, чтобы сохранить это почти неповторимое наследие видеоигр? Что известно об этом из практически любого источника? Ничего. Статья здесь и там, но часики тикают, игры постепенно начинают становиться неиграбельными, и, похоже, никто этим не занимается.

Представляем Flashpoint от BlueMaxima.



Начиная с версии 1.3.1

Объединив интерфейс LaunchBox и возможности веб-сервера Apache, Flashpoint представляет собой проект по сохранению флэш-игр, музей и коллекцию one-click-to-play в одном окне. Нужно только дважды щёлкнуть по любой игре в списке — и она откроется с локальной копии на жёстком диске, готовая для игры.

Игры с привязкой к домену? Игры, требующие наличия сервера? Игры с внешними файлами? Обо всех вариантах позаботились либо с помощью взлома игры (здоровья и долгих лет жизни создателю декомпилятора JPEXS Free Flash Decompiler), либо с помощью веб-сервера Apache, который заставляет игры думать, что они там, где должны быть.



Elephant Quest — одна из игр, которой веб-сервер нужен даже для запуска главного экрана

В конце концов, возникает только один вопрос: это законно? И единственный реальный ответ — никто этого не знает и никто не должен об этом думать. Игры находятся на грани исчезновения, и пока они ещё не умерли — их надо спасти как можно быстрее. И насколько мне известно, я действительно единственный, кто пытается это сделать.

На момент версии Flashpoint 1.3.1 сейчас 850 игр сохранены полностью и воспроизводятся в один или два клика. Около 20% из них пришлось или взломать, или запустить через веб-сервер, или загрузить внешние ресурсы, чтобы игра работала должным образом. Это даже близко не все флэш-игры в интернете: нужно гораздо больше усилий и немного удачи, чтобы приблизиться к этой цели.

О боже, как я рад, что вы спросили об этом.



Порталы, порталы, разбирайте порталы! Большие, маленькие, у нас есть на любой вкус!

Всё это началось с того, что мы с ещё одним помощником, чьё имя для безопасности не буду называть, попытались создать резервные копии как можно большего количества порталов. Результатом этих усилий стал проект под названием Flashfreeze. SWF-файлы более двух десятков порталов, скопированных и сохранённых в каталоге Google Drive.

Эти копии не включают в себя внешние файлы, необходимые для нормальной работы игр. Так что вторая половина битвы — найти эти файлы, убедиться, что они сохранены, пока не настал конец. И конечно, игры всё равно нужно будет взламывать, чтобы они работали без серверов, в офлайне и без залочки на определённые сайты. Но это потом. В первую очередь следует по крайней мере сохранить файлы SWF.

Обновление 30.07.2018. Учитывая, что эта статья снова разошлась по интернету (а поскольку мне вчера исполнилось 25 лет, то это отличный подарок на день рождения, Интернет), я считаю, что лучше обновить её, а не писать новую. Вот список из нескольких пунктов:

  • С момента написания этой статьи мы значительно обновили Flashpoint. Сейчас там более 4000 игр, новая система редиректа, которая помогает обойти залочки на определённые сайты и запускать серверные игры. Очень много людей помогли тестировать и поддерживать её.
  • Теперь мы поддерживаем игры Shockwave, HTML5 и Unity. Эта серверная технология слишком хороша, чтобы ограничить её только флэшем. Flash-игры по-прежнему составляют 90% каталога, но у людей будет копия Cartoon Cartoon Summer Resort, чёрт побери!
  • Мы выпустили кучу дополнительных файлов для скачивания на базе серверной технологии, коллекцию всех SWF-анимаций Newgrounds с фронтендом для их запуска, кучу «быстрых и грязных» резервных копий порталов и готовим ещё больше классных дополнительных фич.
  • Мы стали популярны. Очень популярны. На нашем сервере Discord зарегистрировалось 1500 пользователей, а с нами связались многие флэш-разработчики, чтобы выразить свою благодарность. Когда разработчик VVVVVV выражает тебе благодарность за работу, ты понимаешь, что делаешь правильное дело.
  • Полным ходом идёт архивация. У нас куча людей, которые знают своё дело — теперь лишь вопрос времени, когда мы сделаем резервные копии всего, что осталось.
  • Практически не возникло серьёзных проблем. Я был наполовину уверен, что возникнут препятствия для нашего проекта, но похоже, что в данный момент всё чисто.

У меня работает сервер Discord: здесь принимаются запросы и взламываются игры с момента старта проекта несколько месяцев назад. Вы можете присоединиться и помочь. Здесь же распространяются новые версии Flashpoint по мере выхода.

Если хотите просто получить доступ к исходным файлам (чтобы убедиться в их работе для поддержки архива или просто поиграться 5 минут и забыть, как я делаю с бесконечным количеством вещей), вот некоторые ссылки:

В конце статьи хочу просто прояснить одну вещь: не имеет значения, поддерживаете ли вы мои усилия для сохранения как можно больше этих игр. Имеет значение только то, что мы как сообщество предпринимаем попытку их спасти. Если никто не будет ничего делать, то очень серьёзный кусок истории может оказаться потерян навсегда. Слишком значительный, чтобы позволить ему исчезнуть. Игры заслужили большего. Гораздо большего.

Рисую красочную географическую карту для учащихся, которая красочно, наглядно и доходчиво объясняло детям тему карты, но также нужна интерактивная игра, на основе которой дети могли закрепить свои знания.

Как создать интерактивную игру в Adobe Flash Player? Программист, Географическая карта, Совет, Помощь, Текст, Длиннопост

Карта на основе которой нужна интерактивная игра (не окончательный вариант)

Рисунки(лиса,озера, символы и тд) на карте идут как фишки для каждого населенного пункта, которые нужно раскидать правильно

Как создать интерактивную игру в Adobe Flash Player? Программист, Географическая карта, Совет, Помощь, Текст, Длиннопост

Вот пример из сайта, в которой можно играть в игру , созданный на Adobe Flash Player

Подскажите прошу, как сделать такую игру в Adobe Flash Player?

Или просто где можно сделать такую игру без особых знаний в программировании.

Прошу дайте совет.

эм, вы лет на 20 опоздали, в 2020 флеш вырубят вообще везде

Совсем без программирования не получится. Поищите в интернете книгу:

Гэри Розенцвейг Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Может где-то на торрентах есть вместе с образом диска, на котором исходники примеров. Урок по созданию jigsaw puzzle там тоже есть.

О Лисаковск четкий городок))

Хватит уже мучить труп

Бесплатно помогаю пикабушникам учить программирование, часть 20: «Как преодолеть синдром самозванца ?»

Я продолжаю отвечать на вопросы из комментариев своих подписчиков. Задавая их вы помогаете проекту развиваться. Началось все здесь

Бесплатно помогаю пикабушникам учить программирование, часть 20: «Как преодолеть синдром самозванца ?» Программирование, Программист, Web-Программирование, Совет, Обучение, Бесплатно, Бесплатное обучение, Бесплатное образование, Халява, Длиннопост

В моем понимании синдром самозванца это последствия низкой самооценки. Это состояние очень часто встречается у разработчиков начального уровня. Вот несколько советов, основанных на личном опыте, которые помогут вам стать лучше в этом аспекте.

1. Вместо отказа на вакансию назовите цифру в 2-3 раза больше предлагаемой.

Ни для кого не секрет что спрос на разработчиков сильно превышает предложение. Когда вы уже нашли работу, и вам предлагают другие вакансии или временную подработку, просто назовите цену гораздо больше того, чем сейчас. Сильно увеличивать свой прайс не стоит, а вот просить в 2-3 раза больше того что есть сейчас - решение вполне себе хорошее.

Важно понимать, что вы ничего не теряете. Опасаться выглядеть глупо тоже не стоит. У представителя отдела кадров за день проходит десятки, если не сотни, резюме. Вы просто один из списка и не более того. Здесь вы в ситуации "или произойдет что-то хорошее или ничего не изменится". А это очень хорошие риски.

Спустя некоторое время найдутся те, кто согласятся на ваш повышенный прайс. Это неизбежно произойдет. Подход "если он много просит то он явно хороший специалист" присутствует ну очень часто. После нескольких таких случаев синдром самозванца если не пройдет, то сильно уменьшится. Это работает. Я проверял.

2. Помогайте новичкам.

Иногда здесь или на "популярном оранжевом сайте" встречаются посты/треды новичков, которые запутались. Если у вас есть похожий опыт или ваш текущий уровень превышает их - предложите им помощь. В идеале - помогите полному новичку дойти до уровня стажера/младшего разработчика. Даже 1 маленькая история успеха сильно изменит ваше представление о себе. Также это хороший плюс в глазах нанимателя.

3. Учите английский язык.

Довольно избитая фраза, но, тем не менее, она всегда будет актуальна. Как минимум потому, что вы увеличиваете количество предложений в разы. Очень сложно иметь низкую самооценку когда за неделю вам приходит 10-20 предложений с зарплатной вилкой в разы выше текущей.

Подводя итог всему сказанному важно понимать что все люди ошибаются.

В природе нет ничего идеального и совершенного. Ошибки не делают вас хуже и не понижают ваши скиллы. Они неизбежно будут потому, что без них никак. Помимо того, как нужно делать, важно знать как делать не нужно. Именно наличие позитивного и негативного опыта отделяет мастера от новичка. Делайте выводы, не зацикливайтесь на временных неудачах и все получится.

Этапы создания тренажера:

1) создаем на первом кадре статистическое текстовое поле (Statik Text) и записываем в нем текст задания (рис. 13). В нашем случае это сказка;

2) на первом кадре пишем код: stop();


  • нарисовать кнопку любой формы (например стрелку);
  • выделить её;
  • щелкнуть по ней правой кнопкой мыши;
  • в выпавшем окне выбрать команды: Convert to Symbol -> Button;
  • выделить полученную кнопку и написать код:
  • on (release) – при нажатии перейти на следующий кадр.

Код для любого символа в Macromedia Flash записывается в панели Action Frame (рис. 14):


4) оформление первого кадра выполняется по желанию. Если вы хотите вставить какой то рисунок, то это можно сделать с помощью обычных команд – “Копировать” - “Вставить” или выбрать команду File —> Import.

5) на втором кадре располагается само задание. Чтобы создать второй (и все последующие) кадр нужно на временной шкале выделить соответствующий кадр, щелкнуть по нему правой кнопкой мыши и выбрать команду Insert Keyframe (рис. 15).


После этой операции все содержимое первого кадра скопируется на второй кадр. Все лишнее со второго кадра мы можем удалить и поместить туда нужную нам информацию. Если не выполнить описанную операцию, то изменения, произведенные на втором кадре, автоматически произойдут и на первом кадре.

Итак, на втором кадре мы помещаем координатную плоскость, причем рисуем мы ее на втором слое (создание слоев описано в предыдущем параграфе).

Координатная плоскость, в нашем случае, нарисована с помощью инструмента “прямая” (LineTools) (рис 16), рисуем одну линию с зажатой клавишей Shift, копируем её (Ctrl+C) и вставляем (Ctrl+V) на нужном расстоянии. Затем можно скопировать уже две прямых и т.д. Получив необходимое количество прямых, копируем их все, вставляем и, выбрав команду “свободная трансформация” (Free Transform Tool) (рис. 16), поворачиваем наши прямые на 90 градусов. Таким образом, мы получаем сетку нужного нам размера (рис. 17).


Сетку можно получить и другим способом, но нам было удобнее воспользоваться именно нарисованной вручную сеткой, так как с ней проще в дальнейшем работать.



6) координатные оси изображаем на слое 3;

7) координаты точек записываем с помощью уже знакомого текстового поля – Statik Text, “обереги” рисуем с помощью инструментов рисования. Все это выполняем на слое 1;

8) копируем изображение оберегов с первого слоя и помещаем на третий (рис. 18);

  • выделить нужный оберег;
  • щелкнуть по нему правой кнопкой мыши;
  • в выпавшем окне выбрать команды: Convert to Symbol -> Movie Clip;
  • каждому клипу дать имя: Оbereg1, Оbereg2,…, Оbereg7 (рис. 19).


10) для каждого клипа записываем следующий код:


11) на слое 1 в точках, соответствующих записанным координатам помещаем небольшие кружочки (по цвету совпадающие с цветом фона, чтобы ученик не видел, куда нужно передвинуть оберег);

12) каждый рисунок преобразуем в клип (рис. 20).

13) каждому клипу даем имя: Lov1, Lov2,…, Lov7 (от слова “ловушка”). Номер ловушки должен соответствовать номеру оберега, который учащийся с помощью мышки будет передвигать в точку с нужными координатами.

14) на любой из слоев добавляем текстовое поле Dynamik Text и задаем ему имя: text1 (рис. 21).


14) размещаем на форме кнопку “Готово” (рис. 22). Кнопку добавляем так же, как и в пункте 2;


15) для этой кнопки пишем следующий код:

if ((ober1.hitTest(lov1)) and (ober2.hitTest(lov2))

and (ober3.hitTest(lov3))and ( ober4.hitTest(lov4))

and ( ober5.hitTest(lov5))and ( ober6.hitTest(lov6))

text1.text = "Иван Царевич попал в ловушку"; >>



17) для кнопки “Далее” записываем код : on (release)

Если ученик нажимает кнопку “Далее”, то он переходит на следующий кадр (рис. 24). На этом кадре нужно переместить, в соответствии с новыми координатами, клипы: Lov1, Ljv2,…,Lov7. Если учащийся проходит все ловушки (в нашем случае их 7), то на экране появляется заключительный кадр (рис. 25).

19) для кнопки “Снова” записываем код: on (press)

20) чтобы при запуске программы картинка открывалась во весь экран на первом кадре нужно написать код: fscommand("fullscreen",true);

21) компиляция программы – клавиши: Ctrl + Enter;

22) на любой кадр добавляем картинки по желанию – программа готова.

“Определение координат” - это тест на проверку умения находить координаты по точке координатной плоскости. По заданной на плоскости точке нужно определить ее координаты и записать их в соответствующие окошечки (рис. 26).


Этапы создания теста:

1) на первом слое, которому можно дать имя “сетка”, нарисуйте координатную сетку (можно скопировать сетку из предыдущего задания);

2) на втором слое “оси” нарисуйте оси координат, добавьте обозначения осей и точку, координаты которой нужно найти (в нашем случае это точка А). Обозначение точки будет меняться на каждом слое;

3) на втором слое добавьте два текстовых поля (Statik Text). В одном запишите “Абсцисса точки А”, в другом – “Ордината точки А”;

4) создайте слой 3 и назовите его “координаты”;

5) на этом слое создайте два текстовых поля (Input Text) и назовите их korx (координата х) и kory (координата y);

6) разместите эти поля напротив соответствующих полей “абсцисса” и “ордината”;

7) создайте динамическое текстовое поле (Dynamik Text), и назовите его “rez” (результат) (рис. 27);

8) создайте кнопку перехода на следующий кадр, запишите для нее код: on (release)


10) для подведения итогов теста на первом кадре любого слоя надо записать следующий код:

var n = 10; // количество вопросов

timer = setInterval(tiktak, 1000); // таймер

  • расположение и обозначение точки на координатной плоскости;
  • обозначение точки в поле “абсцисса точки_” и “ордината точки_”;
  • в коде кнопки “готово” указать новые координаты точки.

12) повторяем все описанные шаги нужное количество раз (зависит от количества вопросов в тесте, в нашем случае – 10 раз);

  1. создайте на этом кадре текстовое поле (Statik Text) с надписью “Результаты:” или “Оценка:” (рис. 29);
  2. создайте динамическое текстовое поле и назовите его text;
  3. на итоговом кадре напишите следующий код:


if ((sum==9) or (sum==8))

if ((sum==7) or (sum==6))

if ((sum==5) or (sum==4) or (sum==3 )

14) для того чтобы была возможность выполнить этот тест ещё раз (если вы хотите предоставить ученикам такую возможность), создайте кнопку “Снова”;

Этапы создания тренажера:

1) создаем на первом кадре статистическое текстовое поле (Statik Text) и записываем в нем текст задания (рис. 13). В нашем случае это сказка;

2) на первом кадре пишем код: stop();


  • нарисовать кнопку любой формы (например стрелку);
  • выделить её;
  • щелкнуть по ней правой кнопкой мыши;
  • в выпавшем окне выбрать команды: Convert to Symbol -> Button;
  • выделить полученную кнопку и написать код:
  • on (release) – при нажатии перейти на следующий кадр.

Код для любого символа в Macromedia Flash записывается в панели Action Frame (рис. 14):


4) оформление первого кадра выполняется по желанию. Если вы хотите вставить какой то рисунок, то это можно сделать с помощью обычных команд – “Копировать” - “Вставить” или выбрать команду File —> Import.

5) на втором кадре располагается само задание. Чтобы создать второй (и все последующие) кадр нужно на временной шкале выделить соответствующий кадр, щелкнуть по нему правой кнопкой мыши и выбрать команду Insert Keyframe (рис. 15).


После этой операции все содержимое первого кадра скопируется на второй кадр. Все лишнее со второго кадра мы можем удалить и поместить туда нужную нам информацию. Если не выполнить описанную операцию, то изменения, произведенные на втором кадре, автоматически произойдут и на первом кадре.

Итак, на втором кадре мы помещаем координатную плоскость, причем рисуем мы ее на втором слое (создание слоев описано в предыдущем параграфе).

Координатная плоскость, в нашем случае, нарисована с помощью инструмента “прямая” (LineTools) (рис 16), рисуем одну линию с зажатой клавишей Shift, копируем её (Ctrl+C) и вставляем (Ctrl+V) на нужном расстоянии. Затем можно скопировать уже две прямых и т.д. Получив необходимое количество прямых, копируем их все, вставляем и, выбрав команду “свободная трансформация” (Free Transform Tool) (рис. 16), поворачиваем наши прямые на 90 градусов. Таким образом, мы получаем сетку нужного нам размера (рис. 17).


Сетку можно получить и другим способом, но нам было удобнее воспользоваться именно нарисованной вручную сеткой, так как с ней проще в дальнейшем работать.



6) координатные оси изображаем на слое 3;

7) координаты точек записываем с помощью уже знакомого текстового поля – Statik Text, “обереги” рисуем с помощью инструментов рисования. Все это выполняем на слое 1;

8) копируем изображение оберегов с первого слоя и помещаем на третий (рис. 18);

  • выделить нужный оберег;
  • щелкнуть по нему правой кнопкой мыши;
  • в выпавшем окне выбрать команды: Convert to Symbol -> Movie Clip;
  • каждому клипу дать имя: Оbereg1, Оbereg2,…, Оbereg7 (рис. 19).


10) для каждого клипа записываем следующий код:


11) на слое 1 в точках, соответствующих записанным координатам помещаем небольшие кружочки (по цвету совпадающие с цветом фона, чтобы ученик не видел, куда нужно передвинуть оберег);

12) каждый рисунок преобразуем в клип (рис. 20).

13) каждому клипу даем имя: Lov1, Lov2,…, Lov7 (от слова “ловушка”). Номер ловушки должен соответствовать номеру оберега, который учащийся с помощью мышки будет передвигать в точку с нужными координатами.

14) на любой из слоев добавляем текстовое поле Dynamik Text и задаем ему имя: text1 (рис. 21).


14) размещаем на форме кнопку “Готово” (рис. 22). Кнопку добавляем так же, как и в пункте 2;


15) для этой кнопки пишем следующий код:

if ((ober1.hitTest(lov1)) and (ober2.hitTest(lov2))

and (ober3.hitTest(lov3))and ( ober4.hitTest(lov4))

and ( ober5.hitTest(lov5))and ( ober6.hitTest(lov6))

text1.text = "Иван Царевич попал в ловушку"; >>



17) для кнопки “Далее” записываем код : on (release)

Если ученик нажимает кнопку “Далее”, то он переходит на следующий кадр (рис. 24). На этом кадре нужно переместить, в соответствии с новыми координатами, клипы: Lov1, Ljv2,…,Lov7. Если учащийся проходит все ловушки (в нашем случае их 7), то на экране появляется заключительный кадр (рис. 25).

19) для кнопки “Снова” записываем код: on (press)

20) чтобы при запуске программы картинка открывалась во весь экран на первом кадре нужно написать код: fscommand("fullscreen",true);

21) компиляция программы – клавиши: Ctrl + Enter;

22) на любой кадр добавляем картинки по желанию – программа готова.

“Определение координат” - это тест на проверку умения находить координаты по точке координатной плоскости. По заданной на плоскости точке нужно определить ее координаты и записать их в соответствующие окошечки (рис. 26).


Этапы создания теста:

1) на первом слое, которому можно дать имя “сетка”, нарисуйте координатную сетку (можно скопировать сетку из предыдущего задания);

2) на втором слое “оси” нарисуйте оси координат, добавьте обозначения осей и точку, координаты которой нужно найти (в нашем случае это точка А). Обозначение точки будет меняться на каждом слое;

3) на втором слое добавьте два текстовых поля (Statik Text). В одном запишите “Абсцисса точки А”, в другом – “Ордината точки А”;

4) создайте слой 3 и назовите его “координаты”;

5) на этом слое создайте два текстовых поля (Input Text) и назовите их korx (координата х) и kory (координата y);

6) разместите эти поля напротив соответствующих полей “абсцисса” и “ордината”;

7) создайте динамическое текстовое поле (Dynamik Text), и назовите его “rez” (результат) (рис. 27);

8) создайте кнопку перехода на следующий кадр, запишите для нее код: on (release)


10) для подведения итогов теста на первом кадре любого слоя надо записать следующий код:

var n = 10; // количество вопросов

timer = setInterval(tiktak, 1000); // таймер

  • расположение и обозначение точки на координатной плоскости;
  • обозначение точки в поле “абсцисса точки_” и “ордината точки_”;
  • в коде кнопки “готово” указать новые координаты точки.

12) повторяем все описанные шаги нужное количество раз (зависит от количества вопросов в тесте, в нашем случае – 10 раз);

  1. создайте на этом кадре текстовое поле (Statik Text) с надписью “Результаты:” или “Оценка:” (рис. 29);
  2. создайте динамическое текстовое поле и назовите его text;
  3. на итоговом кадре напишите следующий код:


if ((sum==9) or (sum==8))

if ((sum==7) or (sum==6))

if ((sum==5) or (sum==4) or (sum==3 )

14) для того чтобы была возможность выполнить этот тест ещё раз (если вы хотите предоставить ученикам такую возможность), создайте кнопку “Снова”;

Читайте также: