новости
 
-------------------------
>DHTML лаборатория
-------------------------
>Новости
Архив (8.5.2003)
Архив (18.4.2003)
Архив (4.4.2003)
Архив (24.3.2003)
Архив (7.3.2003)
Архив (18.2.2003)
Архив (4.2.2003)
Архив (21.1.2003)
Архив (6.1.2003)
Архив (23.12.2002)
-------------------------
>Лаборатория
Лабиринт
Scorch
Машинка
Пуповина
Соты
Мост
Кривые
С Новым Годом!
Снежок
Рыбки вернулись
Рыбки
Аркада
Микромашинка
-------------------------
>Материалы
Прелоадинг. Часть 1.
Физмат. Часть 1.
Календарь
Чат, чтоб не молчать
-------------------------
>Ссылки
VM Studio
Флэш Потрошитель
Flasher.ru
Ivan Dembicki
actionscript.org
junioronline
bit-101
flashcomponents
...
-------------------------

-------------------------
>Контакты
>Загрузить Flash
>Translate

>Поиск на сайте


-------------------------
Хостинг от UkrHosting
 

Архив

  21.1.2003
Полноценная документация Flash MX/PHP.
Для тех, кто часто использует связку Flash MX/PHP - советую закинуть вот этот адресок в "Избранное".
Очень подробно о таких вещах как гостевая книга, публикация новостей и даже форум на Flash. Хотя там и прописано: для начинающих, - все же желательно знать хоть немного о таких вещах как Apache, mySQL, PHP и конечно же Flash MX :)). Все на англицком.

Новенькое в лаборатории.

  20.1.2003
Чтиво.
Ian Bogost о мультимедиа-продуктах.
В своей статье Ian Bogost сравнивает Flash MX со знакомыми традиционными средами типа .NET, Visual Basic и Java.

The Programmers' Stone
"На эту работу нас подвигло желание узнать, почему в программной инженерии некоторые люди на порядок, а то и два, продуктивнее большинства людей. Если бы так было у каменщиков, то строительная индустрия очень заинтересовалась бы причиной. Проблема, конечно, в том, что о каменщике за работой можно снять фильм, а затем его действия проанализировать. Но невозможно увидеть, что делают великие программисты, да и они сами не смогли бы объяснить разницу, хотя большинство из них и захотело бы это сделать.", - так начинается эта книга. Я полистал - действительно стоит почитать, особенно для программеров-фанатов. :))
Ссылка от VM.

О Flash-рекламе и не только.
Статейка от John Dowdell на Макромедии.

Снесите свой вклад в борьбу со спамом!
Выкладываю ссылку эту, т. к. и сам потерпаю от спамерских атак - видно пора менять свое мыло...Ссылка от VM.

Хай живе оптимизация!!!
Продолжаем информировать о новых взысканиях щодо оптимизации кода. Источник - конференция RuFlash.
1. Циклы.
Самый быстрый цикл do {} while(), следующий while(){}, соответственно самый медленный for(){}.

2. Объекты.
Замечено что конструктор объекта типа myobj = {}; работает быстрее чем myobj = New Object();

3. Строки.
Узкое место в обработке строк - свойство length. Смотри разъяснение к свойству length в массивах.)

4. Массивы.
Свойство length; никогда не используй в цикле в разделе проверки условия (очень медленное свойство). Например если пишешь:
for (var i=0;i
то делай так:
var l = arr.length;
for (var i=0;i
а еще лучше, через do-while.
единичная, быстрая вставка элемента в массив имеет следующий вид
arr[arr.length] = element;
Конструкторы массива тоже отличаются по быстродействию:
arr = []; //быстро
arr = New Array(); //медленно
Чтобы удалить все элементы от N до последнего (без получения их в другой массив) или расширить массив до определенного коллич. элементов, делай так:
arr.length = N;
(это не документировано, в своих экспериментах нарыл эту возможность, причем работает с инкрементами, прим: arr.length++;)По массивам очень много можно оптимизаций сделать, зависит от твоих задач. Лучше всего применять известные быстрые алгоритмы. Вот один из примеров. Задача: Случайная перестановка всех элементов массива. Решение:
// © MSA
// Version 1.0, 4.10.2002
// Based on the Fisher-Yates algorithm
Array.prototype.shuffle = function() {
var i = this.length-1;
if (i) do {
this.exchange(i, Math.floor(Math.random()*(i+1)));
} while (--i);
}

Array.prototype.exchange = function(i,j){
if (i!=j) {
var t = this[i];
this[i] = this[j];
this[j] = t;
}
}

// Usage:

arr = [5,10,20,30,40];
arr.shuffle();
trace(arr);
Теперь объясню: Мотод shuffle основан на алгоритме Фишера-Йетса(вроде правильно написал). Этот код самый быстрый и самый правильный. Благодаря смещениям случайных чисел и индексов элементов, метод сохраняет одинаковое число вероятностей для любой комбинации.Вот в корне неправильное решение:
r = function() { return random(2)*2-1; };
myArray.sort(r);
Причина этому следующая: Для массива из 3 элементов можно получить всего 6 возможных комбинаций, в этом коде генерируется 27 комбинаций (3*3*3). 27 не делится на 3 без остатка и мы получаем, что некие комбинации будут появляться чаще чем другие.

5. Функции.
Если какой-либо код из нескольких инструкций встречается на протяжении всей программы(фильма) более одного-двух раза, то самым рациональным решением будет вынести его в отдельную функцию или прототип объекта. При разработке функций следует учитывать 2 аспекта:
1. Логика. (смотри пример с перестановкой элементов массива)
2. Быстродействие.
Быстродействие провертятся лабораторным путем.

7. Проверка условий.
Если возможно, следует избегать проверок if-else в циклах, вынося их до или после тела цикла. Это относится так же к enterFrame и setInterval.
Применение выражения выбора значения (импликация) улучшает читабельность и скорость в отличии от if-else.

6. Константы.
Немного лирически :)
Если в вычислениях используется одно и тоже выражение, самое правильное вывести его в константу. Пример:
Math.RAD = 180/Math.PI;
Автор: MSA

  17.1.2003
Macromedia приобрела Presedia.
Вчера, 16 января, Macromedia обьявила о приобретении Presedia(пресс-релиз). Поговаривют, что это чем-то похоже на Микрософт PowerPoint - офисная среда для разработки мультимедийных презентаций, содержащих анимацию и звук. Похоже, Макромедия решила завоевать весь рынок продуктов для создания мультимедиа. Я уверен, что вскоре появится еще один классный продукт.

Оптимальный Action Script.
Доводиться довольно часто наблюдать неумелое применение Action Script в Flash-клипах. Торможение, большой размер файла и т.д. Учасники конференции RuFlash советуют:
чего следует избегать при написании кода; например : есть код
_x += _xmouse/100;
но если написать
_x += _xmouse/2;
он затратит гораздо меньше ресурсов процессора ,проверенно!
(@EDUARD)
я обычно тестю очень злобно готовый код и отлавливаю ненужные вызовы функций. Так однажды оптимизируя чужое меню отловил около 40 тысяч (!!!) ненужных вызовов одной функции в процессе генерации этого меню из 500 кнопок. Делаю тупым и традиционным способом:
any_function = function () {
trace("any_function")
далее код...
еще помогает внимательное чтение листинга переменных и удаление ненужных, неиспользуемых и т.п. переменных, а также сокрытие переменных из обхода цикла for..in.. с помощью ASSetPropFlags. Даже, если for..in.. нигде не применяется. И в первую очередь стоит скрыть переменные текстового поля:
_root.createTextField("bla", 0, 10, 10, 10, 10)
ASSetPropFlags(TextField.prototype, null, 7, 1)
потому как например у меня в менюхах при 500 - 700 элементах это превращается в кошмар;
Основные тормоза возникают при неправильном обращении с OOP.Например:
MovieClip.prototype.onMouseDown = function () {
trace("down: "+ this);
}
не вызывает проблем при отсутствии мувиков на сцене, а если их 200-300? тады кирдык.
(Ivan Dembicki)
На самом деле большая часть тормозов возникает из-за неправильного подхода в программировании. Все дело в том, что флэш изначально был для дизайнеров. С появлением оружия для программиста он стал чем-то новым, но привычки остались старыми (у большинства). Как писали корявый код, так и продолжают писать. Тысячи пример на всеобщих свалках.
(MSA)
Было предложение использовать слешованый синтаксис 4-й версии в 5-й и MX.
Что-то типа:
/alien/3/:color
Это себя оправдывает - такой синтаксис исползует всего 2 байткода в swf, если сравнивать с точечным в Flash5 и MX:
_root.alien.3.color
- аж 12 байткодов, следовательно использование старого синтаксиса может значительно ускорить работу swf, в случае интенсивных вычислений, например программного движения множества мувиков.
(mike temnikov)

AlgoList - алгоритмы, методы, исходники
Сайт algolist.manual.ru посвящен АЛГОРИТМАМ и МЕТОДАМ. Действительно очень полезный ресурс, которых немного. Цитата: "Лучше сделать хороший сайт по алгоритмам и методам, нежели все обо всем. Таких помоек и так довольно". С этим я на все 100% согласен. Сайт разбит на следующие темы:
Математика
Сортировка
Структуры данных
Поиск. Строки и последовательности
Графика
Защита информации и ее взлом
Разбор выражений. Компиляторы и интерпретаторы.
Сжатие и кодирование
АИ, ГА, Нейронные сети
Игры
Разное
Официальные языки программирования на сайте - Паскаль, Си, С++.
Ссылка от MSA.

Новенькое в Лаборатории.
Игрулька - "Космический мост".

  16.1.2003
Action Script? Где?
Название сайта "Action Script в полный рост", как вы уже успели заметить, не совсем отвечает его содержанию. Регулярно обновляются лишь новости, да и то там не встретишь и строчки кода. Но ситуация скоро поменяется. Сейчас ведется работа над движком, который существенно облегчит обновление разделов "Лаборатория" и "Ссылки", которые сейчас пребывают в полной статике.
Не теряю надежды на то, что найдется еще несколько единомышлеников - вместе мы сделаем больше.

Полезная штука
В новостях eric dolecki я наткнулся на весьма полезную штуку. Вот ссылка. Автор - jon williams. Позволяет вычислить положение в клипе динамического текстового символа. Главная область применения(я, лично ощущал потребность уже несколько раз в этой штуке)- динамическое меню. Не зная заранее сколько символов будет в каждом пункте очень трудно их скомпоновать.

Интересности.
Красивый сайт с множеством качественных игр и эффектов.
Игра для горнолыжников(нынче в Киеве стоят такие погоды, что о лыжах можно только мечтать).
Игровой флеш-сайт.

  15.1.2003
Открылся новый русскоязычный форум по Macromedia
На официальном сайте "Российской группы пользователей Macromedia ColdFusion", учрежденной компанией SoftLine при поддержке компании "Рексофт", открылся русско-язычный форум для веб-разработчиков, посвященный программным продуктам Macromedia, в особенности Macromedia ColdFusion.
Ведущий форума, Рубен Ахаян, надеется создать лидирующий русскоязычный форум, где разработчики, испльзующие в своей роботе продукты Macromedia смогут обсуждать различные вопросы, обмениваться мнениями и делиться опытом.
Источник - "Компьютеры+Программы" №1(98) 2002

Из интересностей
Игра в футбол от Titoonic. Нет слов. Советую.
Много хороших игр.
Виртуальный тур по жилищу симпсонов.

Отрицательности.
Для нахождения новостей мира Flash я безусловно пользуюсь подобными(в основном зарубежными) ресурсами как источниками. Если это оригинальная статья или разработка - всегда ссылка на ресурс. Я это к тому, что на некоторы рунетовских сайтах народ не придерживается этих правил и более того - просто копирует новость без явной ссылки на источник. Я не буду тыкать пальцами. Пусть они подумают - и исправятся.

  14.1.2003
fla2swf
Как утверждают разработчики из Northcode Inc(те, что создали SWF Studio) - продукт родился из простой его необходимости. fla2swf позволяет компилить fla-файлы непосредственно в swf. Процесс проходит безболезненно - вам не обязательно напрямую общаться с редактором. Все возникшие проблеммы(например самая распространенная: шрифты, используемые в исходнике - отсутствуют в системе) будут отмечены в файле fla2swf.txt(дописывает в конец). Качать здесь.

Прослушыватель клавиатуры.
Полезная компонента от Hive Brain. Позволяет прослушивать любые комбинации клавиш, нажимаемые пользователем. Синтакс достаточно прост:

Например:
//Слушаем onRelease, когда жмем Ентер
id = KeyListener.addHandler(Key.ENTER,btn,"onRelease");

К ресурсам, по утверждению автора, относится бережно. Пример использования смотрите здесь. Скачать компоненту.

Флеш-Потрошитель потрошит Movable Type
Уже который день идет тестирование и проверка новой(и, я бы сказал - первой в УкрНете и РуНете) блог-системы для флешеров. Благодаря Росту, надеемся, вскоре появятся новые подобные ресурсы - ведь Movable Type теперь переведен на русский. Подробнее на сайте Роста.

К слову...
Что касается новостей - то меня устраивает(пока) наш собственный движок. Открытое тестирование пока устраивать не буду - скажу лишь, что он использует MySql базу, написан на PHP, имеет удобную редакторскую форму. Те, кто заинтересовался - пишите. И, опять же напоминаю - изъявившим особое желание предоставляется право публиковать новости на данном сайте.

  13.1.2003
Kgroup PixFont 3.2 - пиксельные шрифты.
Видимо, ребят с Kgroup задолбали эти сглаженные буковки во Флаш и они придумали программку, которая конвертирует шрифты TrueType (.ttf) в пиксельный формат. Для тех, кто не знает о чем идет речь - читайте это: Для чего нужен и как правильно использовать пиксельный шрифт.
Еще одна интерестная разработка от этой-же компании - автостереограммы. А проще говоря - стереокартинка. Для тех, кто желает поразмять глаза - читайте здесь, а смотрите здесь.
Вот, и наши зашевелились. Скоро свой Флаш напишут... :))

Браузеры, на старт!!!
Вот, таблица скорости воспроизведения роликов Флаш на разных браузерах от Колина Мука:

Safari(v51): 10fps
Mozilla(1.2b): just about 24 fps
IE(5.1): 21 fps
NS7: 23 fps
Chimera(0.6): 25 fps

Вот, что ни говори... а макинтоши со своим Safari пока задних пасут..


  10.1.2003
Screenweaver MX
Продукт от Rubberduck. Screenweaver MX расширяет традиционные возможности Flash. Целевая аудитория - Flash MX- разработчики и программистs Win32. Судя с онлайн-документации, к созданию которой подошли с подобающей щепетильностью, продукт не хуже. Это и мастер, помогающий вам работать с программой; мощный редактор и свой Action Script. Пригодится не только для создания скринсейверов, - она успешно применима и для создания интерактивных презентаций и для полноценных приложений. Несколько скриншотов:
полноценный mp3-плеер;
трай-иконка с меню;

actionscript.org русифицировалась.
Уроки Flash на actionscript.org теперь и на русском. Для начинающих(а вскоре и для опытных флешеров) - это источник знаний на ближайших пол года. Ну очень все доходчиво.

Для тех, кто с нетерпением ждет перевода книжки Колина Мука "Action Script for Flash MX" -
подробное резюме книжки. По сравнению с предыдущей книжкой Колина - эта почти в два раза прибавила в объеме(+400 стр.). Читайте резюме от Robert Penner.

  9.1.2003
Добрый день.
Ужасно загружен роботой, но все же выкроил пару минуток.
Итак, кто не знает Антона Волкова?
Лично мне нравятся его работы, и проффесиональность его команды с www.steelcrown.comлабораторию.

Ссылка от того-же Волкова - проект посвящённый Flash и Cold Fusion.

Кстати, что касается волковых - то у меня одна ассоциация - наш харьковско-киевский поэт Вадим Волков и его жена Света. Почитать стихи Вадика можно здесь(очень советую "СМЕРТЬ ТРАМВАЙНЫМ КОНТРОЛЕРАМ").

На сегодня - все.
Жду предложений к сотрудничеству.

  8.1.2003
Что такое SVG и с чем его едят...
SVG(Scalable Vector Graphics) - это векторный графический формат от W3C. В сущности - это язык, описывающий двухмерную векторную графику посредством XML. Тем, кто уже опробовал в Flash MX такие команды как moveTo(), curveTo(), beginFill()... и заразился программным рисованием, будет приятно удивлен тем фактом, что это все нарисованное можно сохранять. SVG может также хранить в себе текст, заливки и другие штуки(обработчики нажатий мыши и клавиши для любого обьекта, например). спецификация формата описана здесь.
Формат этот можно просто читать глазами, и, как ноты для опытного музыканта - код расскажет вам многое. Вот, например, такой XML:

<?xml version="1.0" encoding="utf-8"?>
<svg>
<g id="Layer1">
<path fill="#000033" stroke="#00cc00"
d="M,100,50,L,200,130,L,50,220,z"/>
</g>

описывает такой код:

this.createEmptyMovieClip("triangle",1);
with (triangle) {
lineStyle(1,0x00cc00,100);
beginFill(0x000033, 100);
moveTo(100, 50);
lineTo(200, 130);
lineTo(50, 220);
endFill();
}

А вот какой красивый попугайчик как для примера:)))
И еще пример.
За подробностями работы с этим форматом обращайтесь к Helen Triolo.

Макромедийный новостной сайт
Вот, наткнулся на еще один Макромедийный новостной сайт. Непосредственно и доступно от тамошнего менеджера (Macromedia Server Community Manager). Зовут его Christian Cantrell. Как ни странно - многими нелюбимые фреймы здесь очень удобно вписываются. Что касается новостей - они самые свежые и с первых рук. Без сплетен.

Как продавать свои компоненты?
Откровенно говоря - сам не знаю. :) Во-первых еще не обзавелся стоящими - во-вторых просто не умею. Зато с этим прекрасно справляется Methinks. Компонента, скажем, не очень - но, видно с успехом продается. "Only $39.95" - пишут они на своем сайте. Для нашего брата это совсем не по карману. Проще убить пару дней и сотворить свою. С точки зрения накопления опыта - занятие полезное. А как там, за кордоном? Покупают? Во всяком случае их продают. Если кто имел с этим дело - пишите в комментарии. Интерестно. :))