Как создать флеш игру?
Вопросы Лимит по процентам для займа сотруднику организации
Вопросы Спортивная гимнастика и акробатика для детей: развитие тела и духа
Вопросы ДПК для забора и террасы: преимущества использования и особенности
Вопросы Топ-10 популярных групповых программ: отбор, контроль, мотивация
Вопросы Использование различных снарядов и оборудования в тренировках
Вопросы Приморская таможня конфисковала крупную партию гель-лаков, ввезенных под видом бытовой техники
Вопросы Что такое страх?
Вопросы Окна ПВХ от VEKA: преимущества
Чтобы создать игру при помощи Flash, нужно представлять, что это за технология.
Современные Flash-игры разрабатываются программистами и дизайнерами. Когда мы запускаем игру, нам видна только ее внешняя часть — графика. Вся эта графика работает при помощи внутренней начинки (функций), которые разрабатываются программистом (игогда не один месяц). Поэтому чтобы создать игру, нужно разбираться хотя бы в программировании при помощи Flash.
Помимо Flash игры разрабатываются на Javascript (и HTML5), С++, Java. Существует целая индустрия по созданию игр — game-development (гейм-дев).
Конечно, программист и дизайнер — далеко не все люди, разрабатывающие игры. Игра начинается с идеи, которую придумывает гейм-дизайнер (называют таких людей по-разному), а потом все детали указывает сценарист. Уровни, оружие и многое другое разрабатывается иногда по отдельности и при участии определенного специалиста (творческого человека).
Создание флеш игр очень увлекательное и веселое занятие, по причине того что все происходит в этих играх в большинстве своем в векторной графике и смотрится это как мультфильм, хотя например флеш игра может освещать очень серьезные темы по сути. Создание флеш игры это конечно же процесс более быстрый чем например создание 3D игры, по причине того что там все сделать может и один человек, а для создания игры в 3D с эффектами DirectX понадобится как минимум команда программистов для создания движка игры, это может затянуться на целый год. Выбирая флеш вы обрекаете себя на неделю или на пару месяцев работы в зависимости от того какая игра будет.
Итак начнем. Естественно с самого начала определяемся с идеей игры, ведь игра отличается от флеш-мультика тем что в игре зритель может выполнять какие-то задания или как-то влиять на игру. Надо четко понимать отличие интерактивного видео от игры. Интерактивное видео это просто например флеш мультфильм, который при запуске дает зрителю лишь один вариант для продолжения процесса мультфильма, то есть нескольких вариантов развития события здесь быть не может. А игра то как раз должна давать какие-то варианты, например даже два безпроигрышных варианта которые по сути потом приведут к одинаковой концовке игры. Сейчас уже нет принципа что игра должна как-то обучать человека и подготовливать его ко взрослой жизни, по причине того что во флеш игры играют поголовно все от детей до директоров крупных компаний. А причина вся в том что флеш игры весят мало, долгого запуска не требуют и прохождение их не занимает много времени. А также флеш игра идет одним файлом .exe или .swf и потерять ее на компьютере будет довольно сложновато. Также флеш игра не требует никакой установки и .swf файл легко запустится в любом браузере для просмотра интернета.
Идея игры должна заключаться в разных вариантах ее прохождения. Например одна из простейших игр которые я делал это игровой автомат. То есть нажимаем на кнопку пуск и потом нажимаем на кнопку стоп, в зависимости от того в какое время вы нажали на кнопку стоп вы выигрываете деньги или проигрываете их. Игра основана была на самом минимальном использовании языка программирования ActionScript 2.0. Кстати я забыл сказать что во флеше используются такие языка программирования сейчас как третья версия ActionScript 3.0, JavaScript, HTML, C++. В зависимости от сложности игры вы должны знать какой-то язык, но можете вообще знать только две команды это stop() и play() и игра уже вполне может существовать, вот только управление в этой игре будет с помощью кнопок на которые нужно нажимать курсором, а кнопками клавиатуры ничего запускаться там не будет.
Начинается создание флеш игры с рисования как обычно. Вы должны нарисовать игровые элементы флеш игры, то есть это могут быть люди, животные, инопланетяни, любые абсолютно предметы, какая-то абстракционная вещь, мозаика, пазл. Все что хотите это может быть, вам нужно только рисовать. Также можно заимствовать из интернета или еще откуда-то какие-то фотографии, чужие рисунки, картины и прочие материалы, которые поддерживает Adobe Flash. Можно также вставлять кусочки видео или видео целиком, тоже самое с аудиофайлами и песнями, можно нарезать их прямо во флеше или вставлять уже нарезанный кусочек. Кстати советую вставлять нарезанные, потому как обрезать их не очень удобно скажу сразу.
Нарисовав например квадратик с помощью кисточки или карандаша на одном слое вы можете без использования языка программирования заставить его двигаться, трансформироваться во что-то, исчезать и появляться, также прибавлять и убавлять прозрачность. Этот квадратик вы можете сделать по желанию кнопкой, на которую можно будет нажимать, но единственная проблема в том что там уже как раз таки нужен язык программирования, потому как кнопка если на нее нажимаешь должна осуществлять какие-то действия.
Представим что вы уже нарисовали какой-то фон, то есть лужайку, небо и облака которые на небе. На лужайке стоит человек, который находится на отдельном слое. Вы хотите начать какую-то игру создавать. Что для этого потребуется? Ну например кнопка начать игру. Открываем библиотеку и создаем там символ, тип символа выбираем кнопка. Там рисуем четыре кадра, первый кадр это будет обычное положение кнопки пока на нее еще не навели курсор. Второй кадр будет как раз когда на кнопку курсор мы уже поставили. Третий кадр это кадр при нажатии на кнопку, либо при том как мы зажали кнопку мыши на этой кнопке и держим. А четвертый кадр будет тем что станет с этой кнопкой после нажатия. Например она может взорваться или исчезнуть, там уже как ваша фантазия развивается.
Вот мы создали кнопку из четырех кадров и она выглядит и понимается как начать игру. Это может быть просто надпись в прямоугольнике или просто кнопка похожая на кнопку play во всех проигрывателях. Это может быть абсолютно любой предмет. Например по вашему замыслу человек должен отыскать эту кнопку в ветвях деревьев или в траве, ну что ж, делайте так. Можно также эту кнопку создать просто точкой и сделать ее потом невидимой, чтобы человек наугад нажимал на эту кнопку и начинал игру, либо продолжал какое-то действие. Представим что вы хотите чтобы игра начиналась когда мы нажимаем на человечка, значит нам нужно поставить эту кнопку в невидимом формате, то есть со стопроцентной прозрачностью на новом слое там где стоит человечек. Как это делается? Открываем свойства слоя на который вы ставите кнопку и убавляем прозрачность со ста процентов до нуля. То есть кнопка на ваших прямо глазах станет невидимой. Также вы можете сделать кнопку размером с весь экран и например при нажатии в любое видимое пространство в игре при любых обстоятельствах игра начнется, либо действие продолжится.
Чтобы при нажатии на кнопку начиналось действие, нужно сначало остановить это действие. Ведь когда мы открывем нашу игру начинается мультик, который если не остановить будет продолжаться и продолжаться. Если допустим этот мультик состоит из одного кадра то просто будет статичная картинка и все. Нам нужно создать пустой слой на котором в поле где пишется программный код нужно будет написать stop(). А кнопке самой, где бы на каком слое она не находилась присвоить свойство on.release {play()}. Прошу конечно прощения если это не будет работать, основываюсь на своих давнишних знаниях, но расписывать код в ответе я не вижу смысла, лучше погуглите и посмотрите обучалки actionscript 3.0 в интернете, так как обучение этому языку программирования нельзя вложить в этот ответ, это должна быть целая книга, которую пишут специалисты.
Вот вы остановили действие и поставили кнопку, теперь при ее нажатии мультик будет продолжать свое действие. Но если например ваш мультик состоит из одного кадра то опять же ничего не будет происходить, вам нужно сделать что-то еще, например на втором кадре сделать какие-то изменения и прогнать нажав просмотр того что у вас получилось. Теперь мы видим что при нажатии кнопки что-то происходит, но если у вас только два кадра, то это все будет происходить очень быстро, быстрее чем одна секунда. Так как пять секунд мультика во флеше равняются 125 кадрам. То есть одна секунда это как минимум 25 кадров. Вы наверное подумаете сейчас что флеш игры потому так завораживают что в них есть эффект 25го кадра. Нет это не так, двадцать пятый кадр это абстракционное понятие никак не связанное с самими кадрами. Например наш мозг воспринимает абсолютно все что происходит на экране, независимо от того что мы там видим или не видим. Наше внимание отвлекается на один предмет а на фоне есть второй предмет который не в зоне нашей видимости, он тоже воспринимается но не нашим сознанием, а подсознанием. Таким образом 25 кадров во флеше никак не вредят никому и вы можете не боясь что-то делать и создавать игры и мультики.
То есть с кнопками мы разобрались. Единственное что еще хочу добавить так это кнопки не обязательно должны нажиматься с помощью курсора. Вы можете установить что при нажатии какой-то определенной клавиши будет происходит то же самое действие. Можно присвоить программный код на нажатие клавиши кнопке, а можно также его присвоить просто пустому слою. Это в принципе не будет отличаться.
Также углубляясь в actionscript хочу сказать что например можно не только создавать кнопки или нажимать на клавиатуру для создания какого-то эффекта. Можно также нажать на предмет и он прилипнет к курсору, а потом нажать еще раз и положить его в каком-то месте и если на Паскале например для этого нужно написать пару-тройку добротных страниц в ворде программного кода, то во флеше это двести знаков текста и не более.
Также можно сделать управление каким-то предметом с помощью стрелок или клавиш, это тоже нужно изучать программный код. С помощью этих передвижений можно запросто отслеживать координаты перемещения. Запрещать предмету перемещение по некоторым координатам. Например если вы хотите сделать игру пакман и у вас есть стены, эти стены должны быть обозначены как мертвые зоны, в которые с помощью управления пакманом нельзя будет заходить. Также например можно сделать игру как на Сега. При нажатии клавиши вправо персонаж будет идти посредством когда, он не сможет зайти вниз в мертвую зону, которая представляет собой землю или какое-то покрытие по которому персонаже идет. И вот он натыкается на другую мертвую зону которая стоит на пути его следствия. Это например стена. Вы можете присвоить персонажу функцию прыжка. То есть при нажатии на на пробел допустим персонаж будет совершать прыжок. Этот прыжок должен быть описан с помощью математической функции. Например параболической функции в обратную сторону. То есть он должен описать во время своего прыжка букву U только перевернутую назад. Также персонаж может летать и по гиперболической функции. Мы можете присвоить ему не только прыжок, но также и прыжок и полет сразу. То есть при нажатии на прыжок например будет блокироваться кнопка полета и он будет совершать прыжок. А можно было приодолеть препятствие с помощью кнопки полета. Только здесь надо не забыть что нужно прописать функцию гравитации. Ведь после полета в жизни обычно предметы «и существа приземляются, а если в вашей игре этого не будет, то как бы не очень реалистично будет выглядеть. Гравитация задается также в помощью отдельной функции. Ну тут уже на вашу фантазию, возможно в вашей игре нет гравитации как таковой и действия происходят в космосе где нет мертвых зон вообще.
Также все математические функции и формулы будут работать. Так как компьютер просто замечательно воспринимает язык математики и с ним подобным образом легко общаться. Например при нажатии на кнопку вы хотите чтобы данные, которые были введены в двух полях сложились и вывелись в третьем поле. Это например при создании игры где нужно будет высчитывать какие-то числа. Допустим вы задали набор очков за каждую собранную монетку в игре с помощью кода и набор очков за каждого убитого монстра. По оконцовке этапа у вас есть два значения и вы можете предоставить пересчет этих значений игроку. То есть значение собранных монеток будет в левом поле а значение убитых монстров в правом. Потом будет кнопка равно, которой присвоено сложение двух значений из этих полей и выведение результата в третьем поле. Это добавит например динамики в игру и человеку будет интересно сколько он заработал очков.
В библиотеке создаются не только кнопки, но также и символы рисунков. Вы можете нарисовать своего персонажа и если не хотите чтобы он как-то менялся указать что это просто графика. Теперь вы просто можете добавлять этого персонажа из библиотеки на рабочее пространство и он никак не будет меняться, то есть это будет как фрейм. Его можно будет изменить только открыв символ. Но сразу предупреждаю, если вы будете менять этот фрейм тогда символ поменяется везде где бы он не находился. Не стоит забываться. Если вы хотите чтобы персонаж при прыжке как-то менялся, то лучше использовать два фрейма или более для его движений и в каждом фрейме перерисовать этого персонажа заново либо сделать дубликат фрейма и изменить его для прыжка. Это довольно сложный и кропотливый процесс, по причине того что например каждому фрейму потому нужно будет присвоить свой код, либо сделать так чтобы когда персонаж прыгал он был абсолютно бездвижимый. А если вы хотите сделать игру как например в Сега. Там когда персонаж прыгает его могут убить например выстрелом в момент прыжка или прыжок может не удастстя, то вам придется поработать не только над начальным фреймом когда персонаж стоит на поверхности и готов к каким-то действиям, но также вам придется поработать над фреймами в прыжке. Ведь в прыжке персонаж также может стрелять, его могут поранить, он например как Бэтмэн может в прыжке выпустить стрелу и зацепиться за какую-то мертвую зону чтобы притянуть свое тело туда. Здесь придется конкретно поработать.
Также во флеше можно создавать не только игры на прохождение, всяческие стрелялки, но также и аркады. Допустим вы создаете игру чтобы стрелять в уток на время и зарабатывать очки. Это очень интересная тема. Вы привязываете как я уже говорил пистолет к курсору с прицелом на самом конце курсора. Теперь когда утка вылетает, сама утка является кнопкой, которая имеет четыре кадра. Она вылетает в одном состоянии например машет крыльями, это нужно сделать с помощью двигающегося символа, то есть минимультика в библиотеке о которых я расскажу попозже. Вот вылетела утка которая машет крыльями, при наведении на нее действует другой символ, она уже например пучит глаза на игрока и боится выстрела а при выстреле она разлетается на куски или падает замертво вниз. Естественно поработать придется не только над траекторией полета утки, но также и над гравитацией падения. А самое интересное так это то, что вы можете разнообразить полеты уток случайными значениями в формуле полета и сделать также случайный размер утки, случайное количество уток и случайные очки за каждую утку. Но также все эти значения можно установить категорически точными. Все это делается с помощью программного кода.
Теперь я расскажу про минимультики в библиотеке как и обещал. Минимульты создаются для придания динамике изображению когда оно стоит на паузе. Например разберем что я приводил вам раньше. У вас есть лужайка, небо и облака которые стоят там статично, а также персонаж который стоит на лужайке в трафе. Вы можете создать облака с помощью специальных минимультов, которые хранятся библиотеке. Заходя в такой минимульт там тоже есть таймлайн, то есть кадры, неограниченное количество. Вы например можете сделать так чтобы облачко двигалось, придав ему движения на протяжении какого-то времени. Либо задать движение облака по какой-то траектории с помощью математической формулы и на протяжении какого-то времени. Все это делается с помощью программного кода. Также вы можете сделать так что трава колышется, тоже сделать ее как минимульт. То есть разнообразить можно абсолютно все, даже тот же персонаж может на протяжении долго времени жонглировать, курить трубку или стрелять из пистолета по тем же уткам, пока игрок не нажмет кнопку играть. Этим приемом пользуются все создатели игр во флеше, потому что гораздо интереснее игроку наблюдать движущуюся картинку перед нажатием и происхождением какого-то действия, чем просто смотреть на статичный арт, который в принципе может быть нарисован не очень. Это еще со времен Сеги применялось и применяется.
Создавая игру во флеше не стоит забывать также о всех дизайнерских правилах, которые здесь действуют, так как флеш игра использует произведения изобразительного искусства, ориентированные на массового пользователя. Здесь естественно должны быть элементы массовой культуры если вы хотите добиться успеха. В основном какие-то герои с названиями очень привлекают людей. Также здесь действуют правила сочетания цветов, если картинка будет рябить и все будет кислотных цветов то человек скорее всего выйдет из игры. Действует тут также правило золотого сечения не только в расстановке предметов игре но также и в размере картинке, точнее в ее формате.
Очень хорошим еще редактором для создания игр является Adobe Flash потому что можно неплохо осуществить связь с интернетом и вашим конкретно сервером или местом на сервере. Допустим человек настрелял уток, посчитал свои очки и нажал отправить, на ваш серверв флеш игра через интернет отправит данные о том сколько человек набрал очков и его имя, которое он напишет. Потому можно допустим считать рекорды и дарить подарки, которые приходят на электронную почту, либо на адрес который он указал. С помощью флеша можно также осуществить покупку каких-то артефактов или свойств для вашей игры, привязав ее с помощью скриптов к платежной системе.
В общем программа просто обладаем бесконечными возможностями, я описал максимум 10 процентов из них. Желаю удачи!»