![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2012
Адрес: Ростов-на-Дону
Сообщений: 13
|
Для начала хочу сердечно поприветствовать все сообщество этого форума
Меня зовут Саня и я уже пару месяцев изучаю ActionScript 3.0.Из книг прочитал Колина Мука. Много чего не понял, ввиду того что это мой первый язык программирования, но юзаю гугл и учусь на практике (на мой взгляд лучший способ обучения )Собственно дело вот в чем. Я сел писать игрушку платформер, про панду с бензопилой, которая режет волшебных пони в их няшном волшебном мире )) Код пишу в FlashDevelop после прочтения тут блога господина Кордума Сама игра пока что выглядит так: 1) swc библиотека с графикой - подключена к проекту 2) Класс Main - основной класс игры. В нем создается массив хранящий все платформы, по которым прыгает игрок. Слушатель событий ENTER_FRAME прикручен к stage и через цикл проверяет столкновения игрока с платформой. Тут же программно созданы несколько платформ, что бы вы могли посмотреть на все это (файл прикреплю к теме) И наконец слушатели событий на нажатие клавиш - для движения игрока. И слушатель событий клика мышки для атаки. 3) Класс Panda(он же класс персонажа). В нем прописаны функции движения влево/вправо и функция прыжка (которые принимают данные от слушателей событий в Main). Тут прописана так же сила гравитации, действующая на игрока. Пересечение игрока с платформами считывается хитрым способом, вычитанным на блоге http://xitri.com/. В самом мувике персонажа я создал 4 объекта-невидимки и расположил их по сторонам света с именами p1,p2,p3,p4. Функция ENTER_FRAME в классе Main - проверяет методом пересечения этих маркеров с платформами и реагирует соответственно. 4) Класс Platform (класс описывающий платформу). В нем всего одно действие. В методе-конструкторе вешается слушатель событий и если платформа добавлена на сцену - выполняется функция Про эту функцию я так же вычитал на xitri.com. Она вызывает метод addPlatform в классе в котором был создан экземпляр Platform и передает в качестве параметров - саму себя. Метод addPlatform описан в классе Main и выглядит так: Он просто добавляет полученный объект в массив хранящий все платформы, для дальнейшего прослушивания событий на столкновения. К посту я добавил swf файл. В нем в классе Main создается персонаж и три платформы. Все работает - можно попрыгать по ним ![]() А теперь внимание - вопрос. Надо делать скролл уровня. Для этого как я вычитал в интернете - надо всю графику заключать в один большой мувиклип и двигать его относительно персонажа. Ок - я создаю во Flash IDE из объектов небольшой уровень, и оборачиваю все объекты в мувик. Но когда я в коде добавляю его на сцену - все мои функции перестают работать. 4 часа я пытался понять что не так и тут вкурил. В этом большом мувике лежат экземпляры классов swc, а не экземпляры классов, которые я наследовал от классов в swc. Выход вроде есть - создавать каждый блок программно, присваивая ему переменную и бла бла бла - я умру так делать ![]() Как мне быть? Как создавать уровень? P.S. Думал о том, что бы сделать редактор уровней, но я встречал лишь такие, которые сохраняют данные в XML и потом игра на их основе делает уровень. Мне не пойдет, потому что хочу потом игру адаптировать под Вконтакте, без обращений к серверу (я просто не умею работать с сервером )Последний раз редактировалось Инсайт; 13.12.2012 в 01:00. |
|
|||||
|
Раз вы любите Хитри :о)
http://xitri.com/2009/07/13/scrollin...cept_hero.html
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Dec 2012
Адрес: Ростов-на-Дону
Сообщений: 13
|
Цитата:
Там все писалось на AS2 и в кадрах.. а если делать по нашенски, то я хз как))Добавлено через 40 секунд Кстати крутая игра была))))))))) Но закачик явный наркоман))) |
|
|||||
|
Привет. Но ведь ничего не мешает сохранить XML-описание уровня в какой-нибудь константе внутри игры.
|
|
|||||
|
Регистрация: Dec 2012
Адрес: Ростов-на-Дону
Сообщений: 13
|
Цитата:
![]() Но вот вопрос с тем как создавать уровень - все еще открыт Может все таки возможно строить его во FlashIDE?) |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
глянь на flashpunk
или flixel
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Dec 2012
Адрес: Ростов-на-Дону
Сообщений: 13
|
Вся фишка в том что я не хотел использовать какой либо движок) Т.е. я пишу игру не просто что бы написать игру, а что бы научится круто кодить
) Мне кажется если даже маленький платформер написать полностью самостоятельно - это круче чем изучить чужой движок) |
|
|||||
|
Лучше, на мой взгляд, написать редактор уровней, где как в IDE можно будет создавать платформы и выбирать их расположение, размеры, создавать мобов, и так далее, с последующим сохранением описания уровня в XML. Это удобно. Можно, да, создавать уровень в IDE. Тогда нужно при экспорте клипа (платформы, например) задавать ему имя класса (например Platform) и в той же папке где лежит .fla создать файл Platform.as примерно такого содержания:
package { import flash.display.MovieClip; import flash.events.Event; public class Platform extends MovieClip { public function Platform() { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); trace("Hello, I am platform!"); } } } Но лучше все-таки редактор уровней, с ним ты не будешь привязан к IDE. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|