воскресенье, 28 октября 2012 г.

Mask with a hole

Привет.

В статье про маски я говорил, что маска может иметь любую форму, но не может содержать в себе пустот.

Дело в том, что если в маске сделать дырку, то Flash будет ее игнорировать.
То есть обычная маска
И маска с дыркой
Будут давать одинаковый результат.

Masks

Маска - это область, в которой отображается изображение.

Вот что получится из изображения:



И круглой маски

Подождите, пока загрузится swf.
Get Adobe Flash player


Как это сделать?

У каждого MovieClip есть свойство mask.

пятница, 26 октября 2012 г.

Assocative arrays in Pascal

Привет.

Внезапно понадобились ассоциативные массивы в паскале ( Free Pascal ).

Надо было из 10^5 чисел быстро находить количество повторов определенного числа. Это нужно делать по ходу ввода этих чисел.

Я хотел создать массив, где индекс будет числом, а значение элемента - количеством повторов этого числа.

Только вот проблема: число может быть от 1 до 10^13.
То есть нужен массив на 10^13 элементов.

понедельник, 24 сентября 2012 г.

пятница, 14 сентября 2012 г.

Motion Tween



Motion Tween - улучшенная версия Classic Tween.
У Motion Tween очень много возможностей, поэтому я расскажу только про самые основы.

Вот, что сделать с его помощью:

Самое главное, на мой взгляд, отличие Motion от Classic - это возможность редактировать путь, по которому будет двигаться символ.

пятница, 7 сентября 2012 г.

Classic Tween

Classic Tween, пожалуй, самый часто используемый вид анимации ( наверное, поэтому он и назван Classic ;) ).

Чем он отличается от других Tween'ов и почему все его так часто используют?
Classic Tween очень похож на Shape Tween. Отличается лишь с тем, что Shape Tween анимирует фигуры, а Classic Tween - символы.

То есть для мультфильмов, где объекты постоянно изменяются, удобнее использовать ShapeTween, а для игр, где изменять форму объекта обычно не нужно ( да и с символами работать гораздо удобнее, чем с фигурами ) , подойдет Classic Tween.

Пример:

На этом примере видно, что Classic Tween умеет поворачивать, перемещать и масштабировать ( и еще много чего ).

воскресенье, 2 сентября 2012 г.

Shape Tween

Добрый день.

Давайте облегчать себе жизнь в создании анимации!

Как?
С помощью Shape Tween.

Что это?
Shape Tween - это генерация промежуточных кадров анимации фигуры.
Вот, например:

Я нарисовал лишь два кадра: первый и последний. Остальное сгенерировал Shape Tween.

Как это сделать?

воскресенье, 26 августа 2012 г.

KeyboardEvent

Привет.

Клавиатура - это хорошо, а две клавиатуры - лучше так что давайте посмотрим, как можно обработать события клавиатуры в ActionScript 3.0. Хотя бы на этом примере:
( Кликните на флеш-файл для получения фокуса )

вторник, 21 августа 2012 г.

SharedObject

Привет. :)

Чтобы сохранить какие-нибудь данные из ActionScript можно использовать Shared Object.
Вот, например:
( Покликайте и обновите страницу )

суббота, 18 августа 2012 г.

Two-ways list & event subscription

Добрый день.

На этот раз будем рассматривать двухсторонние списки и подписки на событие.
Все это используется здесь:
( Нажмите на флешку для получения фокуса )

четверг, 16 августа 2012 г.

Filters

Привет. :)

Один из минусов Graphics перед Movieclip и Button - это невозможность применять фильтры.

Так. Постой. Что такое фильтры?
Лучше я покажу пример:



Довольно симпатично смотрится, да?

вторник, 14 августа 2012 г.

Class

Привет!

В прошлом уроке я упомянул классах, так что приступим.

Что такое класс?
Классом можно называть, например, ручку. Ручку можно включить, выключить, написать ей что-нибудь - это методы класса. Также, у ручки есть характеристики: цвет, длина, толщина стержня, производитель - это поля класса.

Ок. Зачем мне это?
С классами всегда лучше. Чтобы создавать много объектов с одинаковым поведением.
Например, возьмем нашу кнопку из прошлого урока.


Много кнопок.


понедельник, 13 августа 2012 г.

Movieclip

Привет.

Что это за зверь - Movieclip?
Movieclip - это оболочка для графики. Movieclip - самый часто используемый тип символа. Почему не Graphics или Button? Потому что из Movieclip можно сделать и то, и другое.

Хорошо. Что я могу с ним сделать?
Так как Flash изначально разрабатывался для создания видео-роликов, то все символы имеют кадры, расположенные на временной шкале. Соответственно, мы можем создавать анимацию. За счет того, что Adobe предоставила нам ActionScript 3.0, можно манипулировать символами ( перемещать, масштабировать, переключать кадры и т.д. ).

Отлично! Только я ничего не понял. Покажи пример!
Пожалуйста.


воскресенье, 12 августа 2012 г.

Dropbox as .swf hosting service

Добрый день.

Пытался найти бесплатный хостинг для swf с достаточно долгим ( а еще лучше - неограниченным ) сроком хранения. Попадались только платные или без поддержки .swf хостинги изображений. Ничего не устраивало.

Попытался заюзать Google Code. Вроде бы и бесплатно, и неограниченное время хранения. Но там идет прямая ссылка на скачивание, а это не подходит. По крайней мере, я не знаю как можно разместить swf с прямой ссылкой на скачивание.

SyntaxHighlighter & Chrome

Привет.

Для подсветки кода в своем первом блоге я использовал SyntaxHighlighter. Он мне нравится, поэтому я перенес его сюда, и сразу появилась проблема.

В Chrome нумерация отображается так:











пятница, 10 августа 2012 г.

Design pattern: Singleton

Привет!

С чего начинается разработка любого продукта? Точно! Как минимум, с проектирования. Один из шаблонов проектирования - это Singleton ( одиночка ).

В чем смысл этого шаблона? Допустим, у нас есть некий класс, и мы хотим иметь к нему доступ из любой части кода. Что-то типа статического класса.

Как это реализовать?

среда, 8 августа 2012 г.

3.. 2.. 1.. Go!

Привет!

Вот я и создал свой второй блог. :) В отличие от первого, здесь будет более широкая тематика.

Мой первый блог был только про Flash. Создал я его в "дремучем" 2011 году, сразу после Нового Года. На тот момент я только начинал изучать Flash, и, кроме базовых знаний ActionScript 3.0, у меня, можно сказать, не было никакого опыта в программировании. Так что, имейте в виду, что первый блог содержит далеко не лучшие уроки. Удалять я его не стал.