11 августа 2009. Маленький 3d-пример
Я вдруг осознал что вообще ни разу не пользовался 3D-трансформациями 10-го плеера. Чтобы успокоить себя (все хорошо, в плеере действительно есть поддержка 3d-трансформаций, Алексей, тебя никто не обманывал), сделал по-быстрому на ночь маленький пример (текст выделяется):
Код примера простейший:
if (this.stage)
{
this.init()
}
else
{
this.addEventListener(Event.ADDED_TO_STAGE, init)
}
function init(e:Event = null)
{
this.stage.addEventListener(MouseEvent.MOUSE_MOVE, render)
}
function render(e:Event=null)
{
this.logo.rotationY=-(this.mouseX/this.stage.stageWidth*180-90)
this.logo.rotationX=(this.mouseY/this.stage.stageHeight*180-90)
}
Logo – DisplayObject на сцене.
Комментировать |
3d,
as3,
flash |
Что-то давно я ничего не писал. Что ж, с основной работой у меня сейчас траблы, т.к. зарплату ужасно задерживают. Сижу дома, елаю игру в минуты не занятые ремонтом и прочими домашними хлопотами. Движок игры готов, не самый идеальный, но довольно удобный в использовании, с испускающимися ивентами и простором для модификации в классах-наследниках. Звуки записываются, графика постепенно прикручивается. Рисовать решил сам – посмотрим, что из этого получится :D Если времени будет чуть побольше, а лени поменьше, то игра может увидеть свет через пару недель. А если со временем будет совсем хорошо, то, при определенном везении, и через неделю. Публичного бетатестинга не будет.
Комментировать |
as3,
flash,
games |
В Flex Builder уже встроена функция генерации документации, однако в FDT ее нет. Но это не беда, ведь при наличии самого asdoc (поставляется вместе с Flex SDK) можно без проблем сгенерировать документацию и из FDT при помощи ANT. Для начала создаем в корневой директории текущего проекта два файла: ‘build_project.properties’ и ‘build.xml’…
Комментировать |
as3 |
Наверняка каждый, кто только начинал использовать FDT, сталкивался с тем, что невозможно импортировать классы из пакета fl (fl.controls, fl.transitions и прочие). К сожалению, просто указать на какую-то папку Flash IDE для импорта этого пакета нельзя – нужно компилировать классы из пакета в swc. Но не все так плохо, ведь все уже сделано за Вас :) Можете просто скачать swc и указать его в среди linked libraries в свойствах вашего Flash-проекта.
Комментировать [1] |
as3,
flash |
Почему-то очень часто на форумах по AS3 возникают вопросы по всплыванию событий (Event Bubbling). Многие программисты просто не понимают самой модели поведения этой схемы и постоянно наступают на грабли, пытаясь понять, почему они не могут отловить событие в другой ветке. Вот давайте посмотрим на сильно утрированный живой пример всплывания события. Существует какая-то строительная компания с центральным офисом в городе Ку. В этом городе Ку компания в данный момент строит три небоскреба. За строительством небоскребов наблюдает прораб. Допустим, что строительство находится на стадии, близкой к завершению и в данный момент все выглядит таким образом: на каждом этаже здания находится по одному строителю в каждой из комнат. По каждому этажу ходит надзиратель, который обходит каждую из комнат. И вот, в какой-то момент, на одного из строителей в двадцатой комнате на тридцатом этаже одного из небоскребов падает на голову кирпич…
Комментировать |
as3 |
В 9-м плеере нельзя повторно использовать один и тот же Loader для загрузки нового контента. Приходится грузить новым Loader’ом, а жаль. В 10-м плеере такой проблемы нет.
Комментировать |
as3 |
Adobe Alchemy начала приносить свои плоды. Программист Майк из основной команды Newgrounds скомпилировал первую часть old-school шутера Doom из исходного кода. Да, вы не ослышались: первый Doom из C в AS3. Полагаю, что с рендерингом ему пришлось повозиться. Хотя черт его знает. Пойду, почитаю об алхимии :) Поиграть можно тут. Требуется 10й Flash Player.
Комментировать |
adobe,
alchemy,
as3,
flashgames |
Да, я говорю именно про книгу “Essential ActionScript 3.0” Колина Мука. В продаже пока нет, но можно сделать предварительный заказ на декабрь. Настольная книга категории “Must have” любого уважающего себя флэшера, связанного с программированием.
Комментировать [2] |
as3,
books |
Речь, разумеется идет об ActionScript 3.0. После его появления многие программисты стали пренебрежительно относиться к коду в кадрах мувиклипов. А зря. Не стоит так сужать свой кругозор до уровня обычных Java-кодеров. Я не говорю о том, что размещать код только в кадрах хорошо. Нет, это, все-таки, пережитки AS2. Но использование одного-двух кадров MainTimeLine вместо конструктора DocumentClass’а вполне оправданно, как минимум, по двум причинам: Ну, и потом, не стоит забывать, что все, что пишется в кадрах главной монтажной линейки, на самом деле, является методами (условно можно назвать их frame1(), frame2()), которые вызываются из конструктора главного класса посредством метода addFrameScript() (нет, можете не искать его в документации). Попробуйте как-нибудь сделать флэшку с кодом в первом кадре и просмотреть ее код с помощью какого-либо из доступных декомпиляторов.
Комментировать |
as3 |
Игрался сегодня с фильтрами и битмапдатой и случайно обнаружил баг (баг ли?) в FlashPlayer 9. Попробуйте в каком-нибудь из проектов, где динамически перерисовывается BitmapData, применить к ней фильтр flash.filters.ColorMatrixFilter со следующей матрицей: Это приведет к сумасшедшему результату в сочетании с BlurFilter. Передавать нужно именно 8000 в массив по указанным индексам. Почему 8000?..
Комментировать |
as3 |
Copyright © Alexey "Datagreed" Strelkov, 2008 | Designed by Kevin Potts | Мое портфолио 29 июля 2009. Игра
8 марта 2009. Генерация документации в FDT с помощью asdoc
11 февраля 2009. Использование пакета fl в FDT и Flex Builder
3 января 2009. Event bubbling на живом примере
8 декабря 2008. Баг Loader в Flash Player 9
23 ноября 2008. Плоды алхимии. Doom на Flash.
20 октября 2008. Переведен "Essential ActionScript 3.0"
13 октября 2008. Почему размещение кода в кадрах оправдано
8 октября 2008. Сумасшедший ColorMatrixFilter
var cmf:ColorMatrixFilter=new ColorMatrixFilter([1,0,0,0,8000,
0,1,0,0,8000,
0,0,1,0,8000,
0,0,0,1,0])
Перепечатка материалов сайта без разрешения автора (Алексей Стрелков) запрещена.