Как создавать свои Flash-игры, подобные Angry Birds и World of Goo?
Box2D - это библиотека, которая моделирует физическое поведение твердых тел в двумерном пространстве. Программисты могут использовать ее в своих играх, чтобы сделать...
Первая часть: Подключение библиотеки Alternativa 3D 8 во FlashDevelop
Если у вас появилось желание начать работать с 3D во FLASH с использованием трехмерного движка Alternativa3D и вы не знаете с чего начать, то возможно серия видео уроков по созданию простейшего кубического мира окажет вам некоторую помощь.
Видео записывалось при использовании версии alternativa3d 7.7 т.к на момент начала записи была наиболее поздней версией. Среда разработки кода adobeflash CS5. Основной упор при создании кода сделан на принцип, а не на оптимизацию, также в коде опущены проверки на ошибки при загрузки данных из внешних файлов. Видео рассчитано на начинающих и имеющих базовые знания по программированию actionscript3.0 пользователей
Комментарии
хорошие уроки ну хотелось бы чтобы там можно ходить а не летать
Скажите, а почему альтернатва, а не PaperVision?
на первый комент отвечу так: эта серия уроков была сделана в качестве ознакомительной и по ранней 7 версии поэтому я ставил целью показать только базовые возможности чтобы дать возможность вникнуть как это все работает и эту тему я по мере возможности буду продолжать и теперь после выхода flash playr 11 имеет смысл делать туторы по 8 версии, а сделать свой контроллер для управления камерой и проверять столкновения с окружающими объектами не составляет большого труда.
По второму коменту могу сказать что alternativa это лично мой выбор т.к.
- библиотека очень хорошо задокументирована
- имеет хорошую техподдержку и постаянно обновляется
- последняя версия поддерживает до 3 000 000 полигонов за счет задействования в расчетах видеокарты, что открывает большие возможности перед разработчиками 3d игр.
и что не может не радовать являеся разработкой отечественных разрабов.
P.s.
наверное многих заинтересует возможно ли работать с библиотекой alternativa 3d 8 последней версии в adobe flash CS 5 отвечу что можно и видео по подключению данного движка уже готово и особо не терпеливые могут его найти на youtube
дополнительные ссылки на скачивание
alternativa3D_world_cube.part1.rar
alternativa3D_world_cube.part2.rar
или одним файлом
спасибо за уроки но реально одной раздачей было бы лучше =)
А дейстительно одним файлом? Народ.ру предоставляет 7 тонн Скинь туда.
victorshkoda,
+1000. сделайте 1 раздачу
У вас подключение Flash Developer для alternativa3D 8 в первой части, а во второй кубический мир для alternativa3D 7 да ещё на CS5.
Пробовал сделать то же только для alternativa3D 8 на Flash Developer столкнулся с проблемой что FD не хочет подгружать XML. Тот же код прекрасно работает в CS5, a v FD не грузит
<!--[if gte mso 9]-->https://www.youtube.com/watch?v=kMFsA-5FtNU и не забывайте обновлять ресурсы используемые в видео. По поводу что FD не хочет подгружать XML могу предположить что у вас ошибка в организации проекта также можете указать путь к файлу не doc.XML, а ../doc.XML также может зависеть от установленных настроек FD
эти две части связаны между собой только косвенно и ссылка на урок по подключению добавлена модераторами с целью ознакомления с более новой версией(на момент выхода новости) поэтому получился такой итог, если вам нужно установить седьмую версию alternativa3d которая не использует аппаратное ускорение то вот урок для adobe Flash CS5 который я сделал намного раньше и соответственно упоминал в видео
Спасибо разобрался. XML нужно было кидаь не в папку проекта, а в папку bin где swf генерируется.
Вот ещё вопрос по текстурам. Пытаюсь подставить в вместо приложенного в примерах BoxTexture.jpg свою картинку, но выдает какую то странную ошибку
Fault] exception, information=ArgumentError: Error #3682: Размер текстуры не является 2-й степенью.
Какие требования к кортинкам для текстуры?
Степень двойки (2^n) К примеру, 2x8, 256x256, 2048x1024
https://wiki.alternativaplatform.com/Требования_к_моделям_для_использования_с_Alternativa3D
Максимальный размер текстуры 2048x2048
смотрите
Переделываю урок на 8-ю версию. Затык вышел в том что кубы из массива не ставятся.
т.е. код из цикла for
if (loader_attributes > 0) {
trace("СТАВИМ КУБ");
box2 = new Box(w, l, h, 1,1,1);
var texture2:BitmapTextureResource = new BitmapTextureResource(new BoxTexture1().bitmapData);
box2.setMaterialToAllSurfaces(new TextureMaterial(texture2));
box2.x = w*j; box2.y = l*i;//располагаем кубы в цикле с мещая их на...
rootContainer.addChild(box2);
}
не срабатывает. Ошибок не выдает. Даже trace работает
Где BoxTexture1 взято из
[Embed(source = "BoxTexture.jpg")] static private const BoxTexture1:Class;
Может я как-то неправильно текстуры подгружаю? Основной куб, самый первый из первого урока нормально встает
Менял текстуры на FillMaterial - тот же эффект
возможно это связанно с неверной загрузкой ресурсов в контекст
попробуйте так
private function onContextCreate(e:Event):void {
for each (var resource:Resource in rootContainer.getResources(true)){
resource.upload(stage3D.context3D);
}
обратите внимание на параметр true
и почитайте статью из базы знаний вики здесь описывается аналогичный пример по вашему вопросу и есть исходник
https://wiki.alternativaplatform.com/Alternativa_8_для_чайников..._часть_первая
(в конце статьи)