Flex и RIA блоги
2008-06-10 |
Как готовить Флекс и как делать это правильно Появилась поваренная книга Flex-разработчика на русском, по самому названию которой ясно, что это сайт о том, как готовить Flex — FlexCookBook.ru. Там вы найдете ответы на массу вопросов типа Но важно не только готовить Flex, но и делать это правильно. Юра Яровой в своих комментариях к русскому переводу "Flex SDK Coding Conventions and Best Practices" от Adobe объясняет, почему стоит тратить время на приведение кода в соответствие с соглашениями, принятыми в команде. Подписываюсь под его словами, и дублирую из его записи оглавление полного перевода: Соглашения и лучшие практики кодирования Flex SDK
На закуску: пример активного использования Flex на сайте Euro 2008 // via FishBounce. |
Новое творение Roxik-а |
2008-06-09 |
Статья: обзор Adobe Flash для создания промо-сайтов Неплохой обзор флэш-технологии c такими словами в начале: Flash широко используется при создании современных промо-сайтов. Атмосфера – одна из важнейших характеристик, определяющих эффектность и, соответственно, эффективность промо-сайта. Использование интерактивности, анимационных эффектов, видео и звука открывает новые возможности в создании ярких, атмосферных работ. Обзор написан для читателя с нулевым знанием флэш и включает в себя такие слова: Технология flash основана на интерпретации swf файлов flash плеером. Flash плеер – специальная программа, предназначенная для просмотра мультимедийного содержимого. Flash плеер может быть встроен в браузер в виде Flash плагина, либо установлен на компьютер или мобильное устройство в виде отдельной программы. Рекомендую — если вы хотите объяснить клиенту, где и зачем нужен флэш в формате презентации или если кто-то из вашиз друзей спрашивает вас, с чего начать изучение флэш — данная статья отвечает как минимум на эти два вопроса. |
Жорж возращаецо: сайт про флеш flash-ripper.com Друзья, я надеюсь, что вам интересно наблюдать за Жоржем — человеком, который ставит на себе эксперименты по умерщвлению разума, добра, вечности. Напомню, что Жорж давно купить сайт Ф. Потрошителя за 100 условных единиц. Наши длительные переговоры с ним продолжаются. Кстати, в комментариях к записи о блоге Олега Галабурды прозвучало мнение, будто я издеваюсь над блогами, которые сам же продвигаю. Это не так. Даже в приведенном ниже диалоге я не издеваюсь над Жоржем, а если иногда и делаю что-то похожее, то только с целью затянуть беседу с ним, которая цель, в свою очередь, подчинена более общей цели близкого знакомства с представителями Сетевого Паноптикума (как ни унылы их лица). Продолжаю беседу: Здравствуйте, Idiot. Как успехи? Надумал свой сайт http://flash-ripper.com/ продать? -- С уважением, Всегда Ваш Жорж Онуфрыч це Барух... Привет, ТЫ очень вовремя написал!!! Я как раз думаю, где СРОЧНО взять несколько ТЫСЯЧ!
Напомни, пожалуйста, на чем мы остановились? Здравствуйте, Idiot. Это хорошо, так за сколько ты хочешь продать сайт? Ты мне сумму назови точно ту, за которую продашь, а я проанализирую потяну или нет ) -- 150 000 потянешь? Друзья мне говорят, что сайт реально стоит больше, но мне ОЧЕНЬ срочно нужны деньги, поэтому, наверное уступлю по дешевке.
-- Оу, сиди ты со своим сайтом дальше...я тебе предлагал 200$ а теперь и их не получишь...
-- Жорж, следует ли понимать это, как ваш отказ от покупки сайта? Жаль, но на самом деле это даже хорошо, потому что я без него как без рук!
Но я могу научить вас, как сделать интересный сайт про флеш за два года. Это не сложно, вам понадобится только компьютер и подключение к сети интернет. -- Конечно следует, больше 200$ у меня просто нету на сайт, вот и всё. А на счёт сайтов - у меня их много, только тематики несмежные с Вашей. Успехов! -- С уважением, Всегда Ваш Жорж Онуфрыч це Барух... Грустно мне от этого и даже смешно. |
2008-06-08 |
«Flex SDK coding conventions» на русском Я уже давно подписан на RSS блога «Flash-разработка», поскольку нахожу публикуемые там материалы интересными, актуальными и, порой даже, — уникальными. Совсем недавно на этом ресурсе была опубликована серия статей под общим заголовком «Хороший стиль Flex-программирования», являющаяся русскоязычным переводом документа «Flex SDK coding conventions and best practices» — соглашения по написанию кода в классах Flex SDK. Этот документ примечателен тем, что он может помочь не одной команде разработчиков прийти к общему стилю создаваемого ими кода.
Сразу выскажу свое мнение на этот счет: код, разрабатываемый командой, обязан быть единообразным. Однако часто этому не придается должного значения. Код пишется, как уж получается, и главным является не его аккуратность, а работоспособность и быстрота написания. Говоря простыми словами, разработчики не хотят тратить время и силы на приведение кода в соответствие с соглашениями, принятыми в команде. И с одной стороны я их понимаю. Когда ты ограничен временными рамками, и осознаешь, что за короткий промежуток времени тебе еще нужно реализовать достаточно приличный объем функционала, то, конечно же, ты стремишься максимально эффективно тратить имеющееся время. Кроме того, как действительно происходит процесс написания кода? Мне представляется, что он протекает следующим образом (по крайней мере, у меня это именно так): программист изучает задачу, понимает, какой результат необходимо получить в итоге, каким-то образом обдумывает структуру программы и приступает к непосредственному кодированию. В этот момент его мозг переходит в состояние потока, т.е. отключается от внешней среды, сосредотачивается на задаче и начинает преобразовывать мысли в компьютерный код. Это состояние не длится вечно. И пока ты в нем, ты стремишься написать по возможности наибольшую часть программы. И, конечно же, в этот момент ты уж точно не хочешь растрачивать свои силы на оформление кода. Давайте теперь рассмотрим, почему все же стоит тратить время на приведение кода в соответствие с соглашениями, принятыми в команде. Во-первых, аккуратно и единообразно оформленный код уже внушает уважение. Совершенно таким же образом, как внушает уважение аккуратно сделанная машина или ремонт в квартире. Ты четко видишь, что другие программисты очень внимательно относятся к чистоте кода, и уже поневоле будешь стараться тоже писать достойный код. Во-вторых, каждый разработчик должен понимать, что с его кодом, возможно, будут работать так же и другие программисты (если человек работает в команде, то с его кодом совершенно точно будут работать другие программисты). И если эти люди знакомы с соглашениями, принятыми в команде, то они без труда сориентируется в вашем коде. Они точно будут знать, в каком месте файла нужно искать обработчики событий, а в каком константы, и что именно означает символ подчеркивания в самом начале названия переменной. Т.е. вы должны понимать разницу: одно дело, когда вы разрабатываете проект, продаете его и больше никогда к нему не возвращаетесь (в этом случае никому нет дела до правильности оформления вашего кода). Другое дело, когда вы пишете проект, к которому будете возвращаться еще не раз совместно с другими разработчиками и работать над ним длительное время. Вот уж где точно будет лучше, если вся команда будет работать с аккуратно и единообразно оформленным кодом. Но вернемся к теме сегодняшней статьи. Я хотел бы сказать, что команды Flex и ActionScript разработчиков могут полностью принять соглашения по написанию кода в классах Flex SDK, предлагаемые программистами Adobe, или взять их за основу, при создании своих собственных соглашений. Тем более что сейчас этот документ полностью доступен на русском языке. Объем переведенного текста достаточно большой, и за проделанную работу я выражаю автору огромную благодарность. Ну и в качестве заключительного аккорда предлагаю ссылки на все статьи из этой серии:
P.S.: Хотелось бы видеть все эти части собранными в один документ. =) |
2008-06-07 |
Дождались Silverlight 2 beta 2
Итак, что же там нового? Подробное описание нововведений в блоге Скотта Гатри. Полный список без раскрытия подробностей тут. Ну а теперь что и откуда качать (чтобы понять, что и зачем нужно, смотрите тут):
Так что качаем и изучаем |
ActualWave.com — записи изобретателя велосипедов Почему появляются новые блоги? Бывает, что вы пишете длинный комментарий с кодом к записи в чужом блоге. Но после отправки сначала оказывается, что включена премодерация, а затем вам сообщают, что неисправность в движке сайта вообще не дает возможности сохранить ваш коммент (на который вы уже убили час времени). Терять время зря — это не фэншуй, и вы, недолго думая, открываете свой блог, куда и пишете о своих находках, и где ваш коммент становится вашим постом о создании экземпляров класса по его имени. Так Олег Галабурда, вдумчивый флэш-разработчик, открыл себе блог — и пишет. Записей не слишком много, но они интересные. Вот, например, SWF/ActionScript 3 Anti-decompiler v. 0.1 разработки автора, а вот запись, из которой вы узнаете, что Олег создает компоненты для AFComponents. Хорошо, когда толковые люди блоги открывают :) |
2008-06-06 |
Встреча Аниматоров в Донецке 28 июня 2008 года — UAFPUG3 В сеть попали сведения о Сходке Аниматоров. Место и время: г. Донецк, 13:00, 28 июня 2008 года. Темы докладов: на UAFPUG-3 будет 3 мега-доклада по анимации, все темы — на странице встречи UAFPUG-3. Блек-джек: на встрече будет предпринята первая попытка розыгрыша / раздачи кое-чего эдакого (софт) и кое-каких штучек (тряпочки-наклеечки). Присутствие на встрече — ваш лотерейный билет. Регистрация в стиле +1Процедура онлайн-регистрации на встречи UAFPUG сильно упрощена. Теперь поля формы регистрации заполняются автоматически, беря значения прямо из профиля пользователя. Так что, если ваш профиль в порядке, то в форме регистрации вам нужно будет только нажать кнопку подтверждения — система заполнит все поля формы за вас.За идею с "+1" я говорю "Спасибо" Тане Белой. Я и сам подумывал об оптимизации, но ее дружеские пинки очень ускорили этот процесс. Конечно, реализация не идеальна, но регистрироваться теперь действительно должно быть проще. Тем проще, чем больше полей заполнено в вашем профиле на сайте UAFPUG; так что идите, заполняйте, тестируйте обновленную форму регистрации и пишите мне, если что не так. Кстати, Белая еще просила сделать кнопку "-1" для дерегистрации. В процессе. А пока для этого нужно, выбрав свою запись в списке участников встречи, сделать Edit -> Delete. Организацией третьей встречи UAFPUG в Донецке занимается Валерия Маллаева — спасибо тебе, Лерика :-* |
Один ItemRenderer для нескольких колонок Столкнулся с задачей отображения в DataGrid одинаковых по сути данных (UNIX_TIMESTAMP), к которым нужно применить ItemRenderer так, чтобы последний знал к какой колонке он применяется. Я нашел два способа это сделать и оба связаны с использованием свойства listData. Свойство listData имеют такие элементы как Text, Label, Button, CheckBox и т.п., то есть те, которые имплементируют интерфейс IDropInListItemRenderer. В данном случае в качестве ItemRenderer мне достаточно использовать Label. Если же необходим какой-нибудь контейнер в качестве рендерера, который не имеет свойства listData по-умолчанию, его необходимо реализовать своими силами. Итак, первый способ - это назначать данные для рендерера в зависимости от индекса колонки таблицы. Приведу кусок кода:
Здесь мы обращаемся к listData, кастим его к DataGridListData, получаем индекс колонки таблицы и в зависимости от индекса отображаем в колонках date1 или date2. Недостатком этого способа является то, что при добавлении новых колонок перед этими придется переделывать код рендерера и также нельзя перетаскивать колонки. Поэтому рассмотрим второй способ.
В данном случае мы обращаемся не к columnIndex, а к dataField, таким образом получая строку, в которой содержится название поля, из которого мы получаем данные. А с помощью data[myListData.dataField] мы получаем значение этого поля. |
Один ItemRenderer для нескольких колонок Столкнулся с задачей отображения в DataGrid одинаковых по сути данных (UNIX_TIMESTAMP), к которым нужно применить ItemRenderer так, чтобы последний знал к какой колонке он применяется. Я нашел два способа это сделать и оба связаны с использованием свойства listData. Свойство listData имеют такие элементы как Text, Label, Button, CheckBox и т.п., то есть те, которые имплементируют интерфейс IDropInListItemRenderer. В данном случае в качестве ItemRenderer мне достаточно использовать Label. Если же необходим какой-нибудь контейнер в качестве рендерера, который не имеет свойства listData по-умолчанию, его необходимо реализовать своими силами. Итак, первый способ - это назначать данные для рендерера в зависимости от индекса колонки таблицы. Приведу кусок кода:
Здесь мы обращаемся к listData, кастим его к DataGridListData, получаем индекс колонки таблицы и в зависимости от индекса отображаем в колонках date1 или date2. Недостатком этого способа является то, что при добавлении новых колонок перед этими придется переделывать код рендерера и также нельзя перетаскивать колонки. Поэтому рассмотрим второй способ.
В данном случае мы обращаемся не к columnIndex, а к dataField, таким образом получая строку, в которой содержится название поля, из которого мы получаем данные. А с помощью data[myListData.dataField] мы получаем значение этого поля. |
Уничтожение мозга, или удивительные флэш-интерфейсы Случайно, через сайт Мега-Танцора с Друпалом, нашелся дельный авторский обзор
Примечательно, что в этом обзоре известный 3D-вау-сайт Whitewoid получает тройки (см. в конце, перед самыми комментариями: "Лоадбар: в наличии, но не интуитивен совершенно. Навигация: странная, я бы сказал неудобная. На пользу 3д не пошло... ...Удобство: нет"). При этом довольно высоко оценив работу Instinct студии Park, а про сайт Johnny Slack сказано просто: очень, и очень удобно. Читать еще, того же автора: Идеальный видеоплеер. Не утопия. И мотать, мотать на ус. Хоть и неприятно местами: но со стороны здесь таки виднее. |
Ждем Silverlight 2 beta 2
Кстати, о документации. Она уже доступна для скачивания (что для меня является верным знаком, что все будет очень скоро). Среди новшеств этой версии следует отметить, что она выпускается под лицензией GoLive!, которая дает право создавать и выпускать коммерческие приложения на базе Silverlight 2, но не предоставляет поддержки от Microsoft. Обширный список нововведений и изменений новой версии доступен тут. Краткий список основных изменений на русском доступен у Михаила Черномордикова. Так что ждем-с. |
2008-06-05 |
Предлагаю подавить нежелательное эхо во Flash Player 10 Не все об этом знают, но Flash Player пока не поддерживает Acoustic Echo Cancellation (AEC) — подавление эхо, возникающего вследствие обратной связи между колонками и микрофоном. Даже в последней бета-версии 10го Flash плеера никаких следов AEC обнаружить не удалось. Это означает, что для использования сервисов IP-телефонии на Flash необходима гарнитура или наушники, чтобы звук из колонок не попадал обратно в микрофон. Но если Adobe встроит AEC во Flash-плеер, об этой проблеме можно будет забыть, и хорошо: поддержка AEC — это очень большой плюс для создания VoIP-сервисов на базе Flash. Предлагаю продолжить успешно начатое воздействие на Adobe и проголосовать за поддержку AEC в релизной версии Flash player 10! Чтобы голосовать, нужно пройти по этой ссылке: bugs.adobe.com/jira/browse/FP-273 и нажать "Vote" в меню слева. А если вы еще не зарегистрированы в системе, то сделайте это для исправления багов Flash. Эхоподавление станет хорошим дополнением к уже начатому во Flash Player 10 усовершенствованию звуковой части проигрывателя — ведь уже использующийся в FP10 модный кодек Speex уже поддерживает AEC. |
2008-06-04 |
Сюрприз: участники RAFPUG идут на Russian Flash Awards бесплатно Участники RAFPUG, зарегистрированные в google-группе RAFPUG до 31 мая 2008 года, приглашаются на RFA БЕСПЛАТНО. Это логично: ведь им, как участникам RAFPUG, нужно будет попасть на седьмую встречу Russian Adobe Flash Platform User Group, место проведения которой случайно совпало с местом проведения церемонии Russian Flash Awards: клуб «Меццо Форте» (Москва, 1-я Останкинская ул., д. 53, метро "ВДНХ"). И даже время совпало: 19:00, 10 июня 2008 года. Не слишком ли много совпадений? Нет. Мы живем в мире синхронистичности, и, хвала Сверхрутовому Таймлайну — синхронизация работает. Обязательна регистрация на мероприятие, вход по спискамЗаявки присылайте на rafpug <att/> gmail <dott/> com: укажите Имя, Фамилию и Компанию.Приятного времясуперпрепровождения, учаснеги! |
Гоняем на машине по Google Maps — во Flash и даже без него 1. Гонка по Гуглокарте во Flash — эксперимент со свежеоткрытым Google Maps API для Flash. Введите название города (по умолчанию будет загружен Лондон), дождитесь загрузки гугл-карты — и колесите по улицам, нажимая стрелки. Клевая штука! 2. Бешеный молочник — автокросс на молоковозе по Google Earth в специальном браузерном плагине. Установите плагин, дожитесь загрузки, выберите локацию Everest — и колесите по скалам в 3D, нажимая стрелки! Бес-крыш-но:
Теперь имеем: Flash vs. Silverlight vs. Google RIA Plugin (интересно, как назовут?) vs. JS+DOM+Tamarin. |
Flash CS3 + Flex Component Kit = Мистика Вчера полдня потратили на решение такой проблемы: В течение некоторого периода времени, разрабатывался набор Flex-компонентов с использованием Flash CS и Flex Component Kit 1.1.2 (это расширение идет в поставке Flex SDK 3. Кстати, лежит в папке ...Flex SDK/frameworks/flash-integration). Всё было превосходно, мы отлаживали, обновляли их... до вчерашнего дня. Flash CS3 просто сломался. Команда "Convert Symbol to Flex Component" отрабатывает успешно, SWC генерится, но всё это бесполезно. Симптомы такие (касаются конечно только FLA-файла с компонентом):
Однако, при компиляции этого файла на другом компьютере, всё сразу чинится. И даже после пересохранения в какой-то момент починилось и на сломаном. Но не надолго. Кроме того, FLA-файл был скопирован на удаленный компьютер. При открывании файла с удаленного компьютера и работе с этим всё работает корректно! Не помогла даже переустановка Flash CS3! Подробности: Компонент представляет собой клип с Base Class: mx.flash.UIMovieClip. В поле Class прописано имя класса, который управляет этим клипом и является потомком UIMovieClip. |
Adobe Feeds (MXNA) теперь меня можно почитать и тут (
|
2008-06-03 |
Кто дежурит? 40 лучших флэш проектов рунета! На сайте Дежурка.ру иногда выкладывают интересные статьи про флэш и веб-дизайн. Так, совсем недавно мы писали о конкурсе «Russian Flash Awards 2008» (RFA), а на Дежурке в статье «40 лучших флэш-проектов рунета» вы найдете обзор всех работ, вышедших в финал этого конкурса — в каждой из номинаций. Кстати, а начинающим флешерам будет полезна статья «Обзор флэш прелоадеров», в которой содержится большая подборка решений для загрузчиков. |
Взрослая настройка MySQL, установка Eclipse на Linux, Империя Добра Блог "Web Applications Scalability" продолжает выдавать качественные материалы, достойные пристального внимания как уже заматеревших, так и только начинающих заматеревать Флексоидов, Эклипсоидов и Линуксоидов. В "Установке Eclipse на Linux" рассказывается об установке Eclipse на Linux 32bit. 64-битную версию пока не трогают, зато об установке под 32 бита рассказано все — четко и лаконично. Статья же "MySQL-тюнинг. Настраиваем по-взрослому" — труд просто монументальный. Из достоверных источников известно, что писал это человек, не понаслышке познавший крупные сетевые приложения и занимающийся разработкой одного из них прямо сейчас. "Мало кто знает, что правильно настроенный MySQL может работать в 10-100 раз быстрее своего неоптимизированного собрата из базовой установки" — пишет он. Это высоко рекомендуемые материалы для серьезных людей, как и статья об Империи Добра от талантливого писателя. Ее рекомендуется читать на пятой ступени сознания, и отнестись критически к приведенным там острым высказываниям — однако и на ус будет что намотать. |
Безумная оптимизация Много об оптимизации писали эти люди: http://blog.je2050.de/2008/04/26/actionscript-3-optimization-techniques/ способы правда повторяются, но это очень полезно! Я лишь добавлю свои 5 копеек, как сделать код запутаным, но чуть быстрее). Мой извращеный способ основывается на таком предположении: public function test(p:Point, i:int) : void
….. var p:Point = new Point(); test(p,0); Например у меня в реальном методе используется 2 точки и небольшой цикл ) посмотреть: реально подойдет для гейм дева или где можно принебречь читаемостью кода ради быстроты) upd редактор вордпресса унылое какашко(ТМ) |
Параллельная работа - Acrobat.com В первый день лета 2008 года Acrobat.com вышел в онлайн. Сутью данной разработки является интеграция нескольких мощных сервисов от Adobe: Онлайновый текстовый редактор BuzzWord + коммуникатор ConnectNow + 5GB места для зашаривания ваших файлов — все это уже сейчас доступно за умеренную плану в ноль денег (стоп. пока не доступен ConnectNow, но будет скоро). Также есть Acrobat.com AIR App для драг-н-дропа файлов между вашим десктопом и вашим эккаунтом на Adobe.com (это приложение будет сильно развиваться). Рекомендую почитать официальную новость на Хабре — там масса непредвзятых комментариев, местами очень дельных. Прокомментирую от себя. Похоже, Адоб читает мои мысли. Недавно я подумал, что неплохо было бы иметь под рукой тул для быстрой коммуникации с клиентами, и вот он уже у нас в руках. По поводу возможной рекламы хорошо сказанов официальной новости в блоге Acrobat: "...по поводу того, собираемся ли мы встраивать рекламу в Acrobat.com. Коротко говоря, это не наш план на сегодня. Adobe построил хороший бизнес, продавая софт, и мы планируем продолжать в этом же духе с услугами типа софт как сервис через Acrobat.com." Мне хочется назвать это параллельной работой, понятием, в котором едва ли преобладает чисто техническая сторона, но играет большую роль также элекмент мотивации: обычно моя работа над доком движется шустрее, если вы я не чувствую себя одиноким, когда знаю, что кто-то тоже сейчас работает над ним. Принцип чата. Возможно, это всего лишь моя лень, но тогда должна быть и подобные мне. Инструменты для лентяев, ага ;) А еще это — грандиознейшая (по моим соображениям) обкатка Flex SDK. |
Демонстрация 3D поверхностей с помощью движка Alternativa3D Товарищи из проекта “Alterantiva Platform” предлагают зарегистрироваться на сайте и бесплатно скачать библиотеку Alternativa3D для использования в некоммерческих целях. Что я и сделал. И даже “нарисовал” первую свою демку. Вот, предлагаю на Ваш суд “Демонстрация 3D поверхностей с помощью движка Alternativa3D” :
Кстати говоря, Flash Player 10 в этой демке работает на-а-амного шустрее. Отвечаю. |
2008-06-02 |
AlternativaPlatform. Знакомство Мы долго, с любопытством и восхищением, наблюдали за волшебством, которое творили наши Пермские коллеги. Они писали умные слова, которые мы привыкли встречать в описаниях 3D-ускорителей или настройках 3D-шутеров. Они выкладывали демки, которые не укладывалось в нашем 2D Flash-сознании и вызывали только один вопрос: "КАК?". Всё это казалось таким далеким, неосязаемым, недостижимым... И вот, свершилось. Теперь можно просто зайти на сайт AlternativaPlatform, зарегистрироваться, скачать движок и просто пользоваться. Соблюдая, несомненно, лицензионное соглашение и правила этики. Запомним это пророчество: "AlternativaPlatform.com — сеть уже не будет такой, как прежде ". Итак, регистрируемся. Платформа делится на три части: Alternativa3d, AlternativaGUI, AlternativaCore. Пока доступен первый из них, его и качаем. Скачиваем архив и разархивируем его в предварительно созданную папку "Alternativa3D". В обзоре Alternativa3d указывается, что на данный момент еще не все технические особенности внедрены. Самое вкусное оставленно на потом. Нам пока хватит и того что есть. Идем в раздел документации. Но это сделать уже не так просто... 2 июня, к 11 часам сервер просто лежит. Еще 10 минут назад я спокойно обозревал сайт Альтернативы, но теперь, по всей видимости, придется прерваться. Интересно, это от наплыва посетителей или просто тех-проблемы?.. Не прошло и получаса, как сервер опять заработал и мы входим в раздел. Здесь мы видим:
Уроки 1. Создаем во FlashDevelop новый "Default" проект, указываем в "Project > Properties... > Compiler Options > SWC Libraries":
2. Создаем файл HelloAlternativa3D.as, указываем ему "Always Compile" и копируем в него код примера. 3. Компилируем и запускаем. Всё работает без проблем, как и в примере на сайте. На первый взгляд всё просто. Побаловались с разными параметрами и почитали аннотации к коду. Примерно начинает складываться общая картинка. Любопытно было поэксперементировать с количеством сегментов куба. Первое желание - выставить их побольше и посмотреть, как это подвесит FP. Приятно удивило, что, к примеру, поставив их по 20 на каждое измерение, FP по началу явно подвис, но потом, видать, что-то сгенерилось и всё заработало достаточно быстро. Но 30 сегментов FP уже не стерпел... По аналогии с первым смотрим два других урока. Писать тут особенно нечего - всё достаточно подробно изложено. Теперь от баловства надо переходить к делу. Только для начала нужно уточнить условия использования Alternativa3D в коммерческих целях. В отличии от PaperVision3D, это не OpenSource, со всеми вытекающими последствиями. И значит открыт вопрос использования продуктов на базе альтернативы не в личных целях. Ну вот, мы немножко пощупали (а сказать по честному, пока лишь едва ущипнули) этого мистического зверя, и хочется верить, что мы на нем еще ух как покатаемся! |
Скачать движок Alternativa 3D и проверить его в работе Итак, на сайте AlternativaPlatform.com появилась возможность скачать и попробовать в действии новый 3D-движок (уже адаптированный к Flash Player 10). Для этого нужно сначала зарегистрироваться, а затем войти под своим логином на страницу движка Alternativa 3D и скачать его оттуда в виде SWC-библиотеки. Для некоммерческого использования Alternativa3D отдается бесплатно — только разместите ссылку на AlternativaPlatform в своем приложении (она не появится там автоматически — это вопрос лично ваших уровня профессионализма и уважения к братьям по цеху). Обратите внимание: уроки по движку Alternativa 3DНачиная с простейшего классического примера вращения куба "Hello, Alternativa3D!", проходя через урок по построению геометрии дома, и включая работу с материалами и UV-координатамиразработчики движка объясняют, как пользоваться их творением. Я попробовал первый урок — таки работает, см. под катом. |
2008-06-01 |
AlternativaPlatform.com — сеть уже не будет такой, как прежде Если вы не верите, что русские разработчики способны удивить мир своим профессионализмом — наблюдайте за свежеоткрытым сайтом AlternativaPlatform.com. На этом ресурсе нас ждет масса сюрпризов — уже скоро мы станем свидетелями яркого взлета. Итак, Платформа состоит из 3 частей: Alternativa 3D — браузерный 3D-движок на базе Adobe Flash, AlternativaGUI — содержит все основные элементы интерфейса и AlternativaCore — система многопользовательских серверов. К ним уже есть Доки, Багтрекер и Форум — и будет больше. Главное начинается только сейчас! |
2008-05-30 |
Хороший стиль Flex-программирования. ASDoc Немного о комментировании/документировании в стиле ASDoc: ASDoc. ASDoc Комментирование свойств Документируйте только первую функцию пары установщик/получатель (get/set). Пример объявления и документирования свойства: /** * @private * The backing variable for the property. */ private var _someProp:Foo; /** * Place all comments for the property with the getter which is defined first. * Comments should cover both get and set behavior as appropriate. */ public function get someProp():Foo { ... } /** * @private */ public function set someProp(value:Foo):void { ... } Комментарии ASDoc применимы к тегам метаданных так же как и к другим элементам класса. Поэтому важно, чтобы комментарий относился к правильному элементу. Например, если свойство обозначено тегом Bindable, комментарий должен располагаться непосредственно перед функцией получателя (get), а не над метатегом Bindable: можно: [Bindable("somePropChanged")] /** * Comments for someProp */ public function get someProp():Foo нельзя: /** * Comments for someProp */ [Bindable("somePropChanged")] public function get someProp():Foo Про документирование ASDoc можно посмотреть подробнее здесь. PS: Ввиду уродского движка редактирования текста Blogger, местами поехали все пробелы в статье Хороший стиль Flex-программирования. Форматирование. Поэтому, лучше не надеяться на примеры кода, а читать текст. Заключение Цикл переводных статей про хороший стиль Flex-программирования еще не закончен. Через некоторое время я вернусь к этим статьям и, возможно, те правила, которые были отмечены автором как TBD будут опубликованы. На сегодня мы имеем достаточно информации, чтобы улучшить свой код. Будем надеяться, что с выходом Flash Player 10, новых SDK и т.п., правила сильно не изменятся.
|
Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка! Заметно, что Adobe в последнее время становится более отзывчивой и разработчики Flash Player идут на контакт с разработчиками под Flash Player. Так, недавняя акция Андре Мишеля "Adobe, make some noise" увенчалась успехом — уже сейчас во Flash Player 10 расширены возможности для программной генерации звука! (Я и сам чуть не опубликовал эту петицию — но выход 'Astro' меня опередил. Есть полное описание той, уже решеной проблемы, на русском — в статье "Даёшь аудио-синтез в Flash Player 10!" блога Flash Communist). Добъемся правильного мип-маппинга?Так почему бы нам не дожать вопрос, поднятый ещё год назад с выходом третьего апдейта к Flash Player 9 — возможность отключения автоматического мип-маппинга? Давайте этот вопрос дожмем сейчас, чтобы потом получить качественную трехмерку в релизе Flash Player 10. Ведь мип-маппинг — штука мега полезная, но иногда он приводит к бесконтрольному пожиранию памяти и процессорного времени, особенно при частом изменении больших чётных битмап. Товарищи из Adobe предлагают заново создать запись в их bug-tracking системе Adobe JIRA и как можно активнее за неё проголосовать — это учитывается при реализации фич. Далее — движение FP10 к совершенству. Эта запись в Адобовском багтрекере уже создана Антоном Волковым — теперь просто голосуйте за контроль над мип-маппингом! Как голосовать за баги в Adobe JIRA?1) Зарегистрироваться или быть уже зарегистрированным. |
Пример динамического наложения двух mp3 Поигрался с примером Tinic Uro по поводу новых методов класса Sound, в частности, extract():
|