Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги

Аватар для Tails

Глюк с normalize в Pixel Bender после 11 версий плеера.

Запись от Tails размещена 20.08.2015 в 13:53
В Pixel Bender шейдере, функция normalize возвращает некорректные значения. Глюк проявляется, если открывать swf в плеерах начиная с 11 версий. Как я понял, с той версий плеера, с которой PB целенаправленно испортили адобы, попутно запилив туда эту багу.

Краткий фрагмент:
Код:
float2 pos		= outCoord();
float2 dxdy		= center - pos;
float offset	= length(dxdy);

offset			= sin(1.0 - offset / radius) * strength / radius;

// Если делать так,
...
Старый
 
Размещено в Без категории
Комментарии 4 Tails вне форума
Рейтинг: 5.00. Голосов: 2.

Делаем многокадровые gif заглушки из swf-баннеров

Запись от fresh.flash размещена 18.07.2015 в 17:05
Обновил(-а) fresh.flash 18.07.2015 в 23:07
В последнее время часто попадаются заказы с полными комплектами баннеров для гугла и яндекса, причём требуют gif-заглушку со всеми кадрами баннера. Раньше я делал так(т.к. стандартный экспорт флеша в гиф не поддерживает as3 и другие вещи):
Код AS1/AS2:
for (var i:int = 0; i < numScenes; i++) {
Открываем swf баннер Ждём пока завершится анимация нужного кадра Нажимаем принтскрин Вырезаем нужную область Вставляем в фотошоп по кадрам
} Экспортируем в гиф заглушку
...
Старый
 
Размещено в Без категории
Комментарии 2 fresh.flash вне форума
Аватар для caseyryan
Рейтинг: 5.00. Голосов: 4.

Разгружаем ресурсоемкие циклы на мобилах без воркеров

Запись от caseyryan размещена 13.07.2015 в 17:35
Обновил(-а) caseyryan 13.07.2015 в 21:24
Что-то совсем у меня записей в блогах нет, как-то даже не модно)
Пусть хоть какая-то мелочь будет, тем более, что повод как раз появился

И так, ближе к делу. Тем, кто занимается разработками на AIR под мобильные платформы, известно на сколько критична там бывает производительность. Если многие проблемы с графикой сейчас успешно решает Stage3D, то проблемы с созданием объектов в одном потоке никуда не делись. Использование Worker'ов не всегда может решить проблему нагрузок, ...
Старый
 
Размещено в Без категории
Комментарии 8 caseyryan вне форума
Аватар для dimarik
.

Memory allocation на Vector.<IInterface>

Запись от dimarik размещена 07.05.2015 в 21:50
Всем привет!
Недавно обнаружил интересное поведение при создании нового вектора с интерфейсом.
Суть в том, что создание экземпляра Vector, параметризуемым некоторым типом интерфейса вызывает накладные расходы в виде создания дополнительных экземпляров Object и String. Но ладно бы это происходило только один раз, в некоторых условиях такие дополнительные "плюшки" сыпятся постоянно. А именно...
Если в GCRoot не зарегистрирован хотя бы один экземпляр Vector.<IInterface>, ...
Старый
 
Размещено в Без категории
Комментарии 1 dimarik вне форума
Аватар для ZackMercury

Пишем круглый прогресс-бар.

Запись от ZackMercury размещена 20.03.2015 в 22:47
Обновил(-а) Zebestov 24.03.2015 в 02:01 (Исправление ошибки в сказке.)
Ну, разбирать не будем будем разбирать всё до деталей.

Сам класс:

Код AS3:
package com.zackmercury.tools
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Graphics;
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Rectangle;
 
	/**
	 * Запрещаю продавать, разрешаю делиться и выкладывать в интернет(разумеется,
...
Старый
 
Размещено в Без категории
Комментарии 28 ZackMercury вне форума
Аватар для alatar
Рейтинг: 5.00. Голосов: 7.

Трансформации вокруг произвольной точки

Запись от alatar размещена 05.02.2015 в 12:52
Обновил(-а) alatar 05.02.2015 в 20:14
Эпизодически на форуме появляются вопросы типа: "как повернуть объект вокруг точки", "как сдвинуть transform point" и т.д. Как правило, ответы представляют собой частные случаи, вроде, сдвинуть-повернуть-сдвинуть для вращения или с использованием кучи тригонометрии, которые не учитывают, что объект уже может быть трансформирован до того как попадет на вход функции вращения.

В данной статье рассмотрены методы на которые не влияют начальные трансформации объекта. ...
Старый
 
Размещено в Линейная алгебра
Комментарии 5 alatar вне форума
Аватар для samana
Рейтинг: 5.00. Голосов: 7.

Motion Path

Запись от samana размещена 23.01.2015 в 15:14
Обновил(-а) samana 15.02.2015 в 14:23
Motion Path


Предисловие

Да, да, это та, самая обычная кривая, к которой можно привязать объекты и двигать их туда-сюда. Отличие лишь в том, что это программный motionPath, которого мне так давно не хватало, хотя и не знаю для чего точно. Всё началось с игры Zuma, которая однажды поставила меня перед фактом, что я совершенно не понимаю как двигать такие шарики по нужной траектории, плюс ещё и активно манипулировать всем этим процессом. А затем я окончательно добил себя идеей ...
Старый
 
Размещено в Без категории
Комментарии 28 samana вне форума
Аватар для alatar
Рейтинг: 5.00. Голосов: 2.

Декомпозиция матрицы.

Запись от alatar размещена 25.12.2014 в 16:25
Обновил(-а) alatar 05.02.2015 в 12:52
Для более полного понимания статьи желательно почитать раз, два или что-нибудь по линейной алгебре.

Анатомия
По сути своей матрица трансформации содержит в себе три вектора, базисные векторы осей, описывающие наклон и масштабирование осей дочернего объекта относительно родительского и вектор описывающий смещение начала системы координат дочернего объекта относительно родительского.
Если принять во внимание, что базисный вектор оси x обычно обозначается буквой i, а базисный ...
Старый
 
Размещено в Линейная алгебра
Комментарии 24 alatar вне форума
Аватар для Rzer

Приложения для изучающих AS3

Запись от Rzer размещена 21.12.2014 в 23:50
Что-то тихо в блогах, надо исправить

Небольшая подборка приложений, которые мы делали с ребятами на занятиях.
Все проекты собираются во FlashDevelop. Надеюсь кому-нибудь пригодится

Гонки: Racing.zip
Змейка: SnakeGame.zip
Физика: Physics.zip
Рисовалка: Paint.zip
Арканойд: Arkanoid.zip
Графики: GraphMaker.zip
Минёр: Minesweeper.zip
Галерея: Gallery.zip ...
Старый
 
Размещено в Без категории
Комментарии 6 Rzer вне форума
Аватар для dimarik
.

[Starling] Тормози меня плавно!

Запись от dimarik размещена 28.10.2014 в 22:34
После выхода из бакграунда с потерей контекста на андроид-устройствах встретился с довольно неприятной Starling-фичей. Она называется QuadBatch#registerPrograms(). Эта штука начинает заново компилить в AGAL то, что она уже разок скомпилила. На выхлопе мы получаем офигевший GC от мусора, производимым AGALAssembler, в основном, от операций над String, полем которым является листинг шейдеров, представленных в этой самой QuadBatch#registerPrograms(), а также сам процесс компила в ByteArray.
...
Старый
 
Размещено в Без категории
Комментарии 7 dimarik вне форума
Аватар для dimarik
.

[Starling идиотизмы] Об интерактивных событиях

Запись от dimarik размещена 02.10.2014 в 22:21
Сегодня на работе был забавный случай. Коллеги, занимающиеся параллельным проектом, в основе которого лежит библиотечка Starling версии 1.5.1 или что там сейчас новее из ихнего стабильного, испытали культурный шок на старлинговских событиях Touch. Оказывается, нет никакой возможности отследить текущий объект, над которым проходит мышка с зажатой ЛКМ. События всегда генерируются с таргетом, над которым была зажата клавиша, даже если курсор покинул этот таргет и "гуляет" уже над другим. ...
Старый
 
Размещено в Без категории
Комментарии 2 dimarik вне форума
Аватар для PainKiller

Имитируем браузер (на примере залогинивания из приложения в контакт)

Запись от PainKiller размещена 28.08.2014 в 13:38
Некоторое время назад я задумался насколько реально получить access_token для приложения вконтакте без браузера. Мой вопрос на эту тему на форуме остался без ответа и я начал копать сам. Надо сказать, что решение этой проблемы отняло у меня приличное количество времени, зато в результате я многому научился, чем и спешу поделиться. Как обычно говорят в таких случаях - представляемая информация дается для ознакомления, автор не несет ответственности за её использование в незаконных целях (написание ...
Старый
 
Размещено в Без категории
Комментарии 15 PainKiller вне форума
Аватар для Rembrant

ООП ради ООП ч. 2. Мучаем robotlegs

Запись от Rembrant размещена 21.07.2014 в 19:22
Некоторое время назад я пытался создать as3-приложение на основе библиотеки pureMVC, результат этих мучений можно лицезреть здесь. Среди прочего, было отмечено крайнее неудобство pureMVC как таковой, что сподвигло меня покопаться для сравнения ещё в одном MVC-фреймворке, robotlegs, знание которого также требуется довольно часто.

Итак, представляю на суд публики ту же самую галлерею, но уже на основании robotlegs. На оф. сайте доступны 2 версии - 1.5.2 и 2.2.1, соответственно у меня ...
Старый
 
Размещено в Без категории
Комментарии 15 Rembrant вне форума
Аватар для Rzer
Рейтинг: 3.00. Голосов: 3.

Математика игр. Часть 1.

Запись от Rzer размещена 10.07.2014 в 20:59
Обновил(-а) Rzer 11.07.2014 в 20:09
Для наглядности будем делать игру Dragon Master и познавать насколько полезно учить математику в школе.

Плавное изменение свойств

Например, у наc есть класс Дракончика, который летает за своим хозяином. Код выглядит следующим образом:

Код AS3:
public function followMaster(target:DisplayObject):void{
	this.target = target;
	addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
 
private function onEnterFrame(e:Event):void{
...
Старый
 
Размещено в Без категории
Комментарии 20 Rzer вне форума
Аватар для Rzer
Рейтинг: 5.00. Голосов: 2.

Подключаем SWC как внешнюю библиотеку.

Запись от Rzer размещена 07.07.2014 в 13:09
Обновил(-а) Rzer 07.07.2014 в 13:44
Дизайн собираем во Flash CS6. Код пишем в FD.

1) Ставим галочку "Экспорт для ActionScript" для всех символов, которые нам нужны. Я добавляю префикc UI к каждому имени класса.
2) В Параметрах публикации отмечаем SWC и SWF форматы.
3) Подключаем нашу SWC библиотеку к проекту:

4) Используем UI классы как обычные классы: наследуемся от них, создаём ...
Старый
 
Размещено в Без категории
Комментарии 3 Rzer вне форума
Аватар для Rembrant

Программа на pureMVC. Оно или нет?

Запись от Rembrant размещена 30.06.2014 в 18:47
Обновил(-а) Rembrant 03.07.2014 в 17:03
Идея покопаться поподробнее в pureMVC была давно, потому как его знание очень часто требуют в вакансиях нужно саморазвиваться. А тут и свободное время подвернулось.

В Интернете есть достаточное количество статей по фреймворку, из которых я почерпнул практически ничего, и пример с открытым кодом - галерея изображений, повергнувшая меня в уныние и ещё большее непонимание происходящего.

Итак, я поставил себе задачу написать программку на базе pureMVC - тоже галерею, но ...
Старый
 
Размещено в Без категории
Комментарии 20 Rembrant вне форума
Аватар для Котяра
буду краток
Рейтинг: 5.00. Голосов: 3.

Страх и ненависть в Нью-Дели или сборка мультипака для arm7 и x86 c Adobe AIR 14 в FB

Запись от Котяра размещена 16.06.2014 в 18:29
Обновил(-а) Котяра 18.06.2014 в 14:18
..У нас был готовый проект, который компилировался только под arm7, 2 набора разных процессоров - arm7 и x86, over 9000 различных устройств, тестовый планшет Samsung Galaxy Tab 3 10.1 на Intel Atom, смартфон HTC One S на arm7, а также текила, ром, ящик пива, Flash Builder 4.7 и бетка AIR 14. Не то что бы это был необходимый запас для разработки. Но если начал собирать различные apk, становится трудно остановиться. Единственное что вызывало у меня опасение - это AIR 14. Нет ничего более беспомощного, ...
Старый
 
Размещено в игродел
Комментарии 17 Котяра вне форума
Аватар для samana

RastrMovieClip или свой велосипед

Запись от samana размещена 13.06.2014 в 02:06
Обновил(-а) samana 15.06.2014 в 23:01 (update)
Вступление
Конечно возможность перевода мувиклипа в растр - тема не новая и давно решённая множеством вариантов. Каждый автор создаёт своё творение, стараясь сделать ещё лучше, быстрее, удобнее! Статьи по этой теме я нашел на gamedevblogs и у Антона Карлова в его замечательном блоге, который знаком всем флешерам. Но всё равно захотелось сделать и свой вариант.

Класс представленный мной, конечно будет полезен только тем флешерам, которые создают анимацию во Flash IDE, и ...
Старый
 
Размещено в Без категории
Комментарии 31 samana вне форума
Аватар для dendrit

XML-Object mapping

Запись от dendrit размещена 06.06.2014 в 01:12
Написал AS3-библиотеку AStream, которая занимается преобразованием типизированных объектов в XML и обратно.
API я постарался сделать похожим на XStream.

Основные особенности:
  1. Воссоздание типизированного объекта
  2. Объект может содержать циклические ссылки
  3. Вид XML можно задать метаданными и программно
  4. Написана на чистом AS3, не зависит от Flex
  5. Коллекции, реализующие IList, Array,Vector
  6. Map-ы: Object и Dictionary
  7. Поддержка Enum, ByteArray, IExternalizable

В ...
Старый
 
Размещено в Без категории
Комментарии 7 dendrit вне форума
Аватар для in4core

Система диалогов, создаем подобие old School типа Fallout.

Запись от in4core размещена 07.05.2014 в 01:01
Привет !
Давай те сначала посмотрим на результат, о чем пойдет речь. Все схематично, никакого дизайна

И так, черные квадраты - это Персонажи нашей РПГ, по клику на которых мы открываем диалог и можем с ним работать.
1й квадрат - инфо персонаж, ничего полезного не делает, просто выдает инфу.
2й квадрат - персонаж, выбор веток диалога скрывает другие ветки.
4й квадрат - инфо персонаж
3й квадрат - персонаж, выбор веток диалога скрывает другие ветки ...
Старый
 
Размещено в Без категории
Комментарии 34 in4core вне форума
Аватар для dimarik
.

О типах исключений.

Запись от dimarik размещена 23.04.2014 в 00:26
Ну как обычно, просто, чтобы не забыть куда постил.

Цитата:
Сообщение от grafillo! Посмотреть сообщение
а метод обработки ошибок try - catch в данном случае лучше не использовать?
Загрузка через Loader#load() может создать как синхронную ошибку, так и асинхронную.
Синхронные исключения... Ах, давай с начала и по порядку!
Начнем, пожалуй.

Привет! Нужно сразу же научиться отличать ошибки от исключений (exceptions).
Ошибки бывают у всех, даже если ты (вдруг, уже) не женат.
Скорее ...
Старый
 
Размещено в Без категории
Комментарии 8 dimarik вне форума
Banned

ОЗУ и XML

Запись от toFL размещена 03.04.2014 в 15:45
Привет, постараюсь кратко.

О чем:

Проблема заключается в чрезмерном потреблении памяти при работе с XML структурами.

Особенности класса:
  • Объект XML не содержит в себе строк. Он занимает в памяти 24 byte, не зависимо от его длины.
  • При обращении к его методам поиска, временно выделяется память на хранение новых структур (Например XMLList и др.)
Следовательно чем сложнее XML и поиск его элементов, тем больше потребляется памяти. Стоит отметить, что эта ...
Старый
 
Размещено в Без категории
Комментарии 14 toFL вне форума
Аватар для dimarik
.

Немного о Vector и ByteArray

Запись от dimarik размещена 28.03.2014 в 22:48
Обновил(-а) dimarik 01.04.2014 в 12:35
Как всегда, буду краток.

Код AS3:
const someVector:Vector.<SomeT> = new <SomeT>[];
... добавляем объекты SomeT в someVector
someVector.length = 0; // ! освобождения памяти не происходит !
// Память может только расти. Освободить память можно лишь 
someVector = null;
Текущая версия Adobe Scout помещает эту память в категорию Uncategorized.

ByteArray освобождает память только по clear(), установка его length = 0 не освобождает ...
Старый
 
Размещено в Без категории
Комментарии 44 dimarik вне форума
Аватар для Inet_PC

Загадки

Запись от Inet_PC размещена 17.03.2014 в 22:22
Обновил(-а) Inet_PC 20.03.2014 в 14:43 (Добавлено еще 3 загадки)
Загадка №1:
Есть класс TestBase:
Код AS3:
package
{
    public class TestBase
    {
        public function TestBase()
        {
            super();
        }
 
        public function foo(a:int, b:int):void
        {
            trace("TestBase#foo()");
        }
    }
}
Необходимо написать наследника (Test) этого класса так, чтобы следующий код скомпилился и выполнился без ошибок: ...
Старый
 
Размещено в Без категории
Комментарии 80 Inet_PC вне форума
Аватар для PainKiller

Поднимаем сервер в облаке (Jelastic + Java + Tomcat + MySQL + BlazeDS) Часть III

Запись от PainKiller размещена 03.03.2014 в 12:14
Для начала надо скачать BlazeDS. При желании можно загрузить BlazeDS Trunk – эта версия сразу интегрирована с какой то версией Tomcat, но нам это не нужно, у нас свой сервер, в любом случае не важно что вы скачали, самое главное в скачанном найти файл blazeds.war – это файл шаблона проекта для BlazeDS. Распаковываем его и видим 2 папки, нас интересует папка WEB-INF, копируем из нее папку flex в нашу папку (путь от корня проекта должен быть такой ../web/WEB-INF/flex), копируем содержимое папки ...
Старый
 
Размещено в Без категории
Комментарии 0 PainKiller вне форума
Аватар для PainKiller

Поднимаем сервер в облаке (Jelastic + Java + Tomcat + MySQL + BlazeDS) Часть II

Запись от PainKiller размещена 27.02.2014 в 12:58
Итак, приступим к созданию окружения. Заходим в консоль Jelastic, (если надо регистрируемся, первые 5 дней бесплатные), нажимаем кнопку «Создать окружение», выставляем нужную нам конфигурацию (Tomcat + MySQL). На сервер можно выставить ресурсы (они измеряются в клаудлетах), рекомендую выставить 3 и тогда хостинг будет почти бесплатный. На сервер в корень автоматически загружается проект Helloword.war, его можно скачать, переименовать расширение в zip, распаковать и ознакомится со структурой. ...
Старый
 
Размещено в Без категории
Комментарии 0 PainKiller вне форума
Аватар для PainKiller

Поднимаем сервер в облаке (Jelastic + Java + Tomcat + MySQL + BlazeDS) Часть I

Запись от PainKiller размещена 27.02.2014 в 12:58
Обновил(-а) PainKiller 05.03.2014 в 12:19
У меня давно уже была идея одного «своего» клиент-серверного проекта (социального приложения), от реализации которого меня останавливала сложная серверная часть. Написать флеш/флекс клиента для меня проблемы не представляет, а вот к написанию сервера я решился приступить только совсем недавно, и в серии постов хочу поделиться своим опытом. Сразу скажу, что в них не будет подробных описаний со скриншотами о том, как создать проект в NetBeans, или таблицу в MySQL, скорее они ориентированы на флешера ...
Старый
 
Размещено в Без категории
Комментарии 24 PainKiller вне форума
Аватар для TERRORist

Optika

Запись от TERRORist размещена 25.01.2014 в 15:28
Давно я не писал.. Картинка для интереса:



Собственно, маленький апдейт для тех, кто следил за творюшкой.

Полностью доделав графику и редактор, теперь пилю уровни и думаю о порте на мобилы. И да, был сделан перевод, на три языка пока что.
Собственно, есть вопрос: Как реализовать на слабых машинках такой эффект шлейфа частиц, желательно на том
...
Старый
 
Размещено в Games , Lazer Lover
Комментарии 13 TERRORist вне форума
Аватар для Dukobpa3

Strategy (Стратегия)

Запись от Dukobpa3 размещена 27.12.2013 в 18:40
Обновил(-а) Dukobpa3 02.01.2014 в 06:45
Ну как обычно затравочка:

Всё тот же сайтик с кодом на плюсах
Всё тот же паттернкрафт с его стратегией

Погнали.
Суть паттерна стратегии в том что у нас к примеру есть некое поведение. Например "заархивировать". Или же "скачать". Или же "двигаться".
В глобальном смысле с точки зрения системы нам побоку КАК мы будем качать. Нам важен конечный результат.
Поэтому мы пытаемся отрезать сам алгоритм поведения от объекта ...
Старый
 
Размещено в Без категории
Комментарии 11 Dukobpa3 вне форума
Аватар для Dukobpa3

State (Состояние)

Запись от Dukobpa3 размещена 27.12.2013 в 01:24
Обновил(-а) Dukobpa3 31.12.2013 в 13:53
Опять же для затравочки.
Ссылка на годный плюсовый пример(зауважал этот сайт в последнее время, хорошо пишут)
Примеры разных паттернов
Пример реализации стейта
Видео от этого чувака по паттернам

Поехали.
Опираться буду на пример паттернкрафта. Он вполне достойный.
Итак, в предыдущей статье мы рассмотрели паттерн стейт-машины. Он нам нужен если у объекта есть несколько состояний, которые меняют поведение объекта.
Но мы рассмотрели примитивный ...
Старый
 
Размещено в Без категории
Комментарии 5 Dukobpa3 вне форума
Аватар для Dukobpa3

State-machine (конечный автомат, машина состояний)

Запись от Dukobpa3 размещена 25.12.2013 в 15:40
Обновил(-а) Dukobpa3 01.07.2014 в 19:11
Вот чуток ссылок для затравочки.

Хабр: тут тоже про стейт-машину есть
Хабр: Простые стейт-машины на службе у разработчика
Вики: Конечный автомат

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

Ну поехали.
Стейт-машина это такая штука, которая нужна если у нас есть объект, поведение которого меняется в зависимости от состояния. ...
Старый
 
Размещено в Без категории
Комментарии 7 Dukobpa3 вне форума

генератор ландшафта

Запись от Lecosson размещена 21.12.2013 в 17:51
Обновил(-а) Котяра 23.12.2013 в 19:26
Визуализируем карту высот. Просьба к гуру не плеваться. Просто побочный эффект другой работы, может кто-нибудь заставит Бискупа нервно курить - вот и пригодится.
Генератор ландшафтов
tergen.swf   (2.0 Кб)

Код:
Код AS3:
package
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.BlendMode;
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
...
Старый
 
Размещено в Без категории
Комментарии 6 Lecosson вне форума
Аватар для samana
Рейтинг: 5.00. Голосов: 6.

Зажигаем свет в 2d.

Запись от samana размещена 11.12.2013 в 01:14
Обновил(-а) samana 25.02.2014 в 14:11
Здравствуйте. Хочу поделиться с вами, одним из вариантов, как можно создать 2d свет на actionscript 3.0. Сначала хотел сделать подробный урок для начинающих, но объяснять все свои действия оказалось настолько сложно, что я решил просто выложить свою наработку и кратко рассказать о том, как она работает и как ей пользоваться.
Свет можно делать и мягким и чётким. Пожалуй лучше всего, увидеть это на деле. В обоих флешках, подвигайте мышкой. К сожалению, лично у меня в браузере, обе подтормаживают. ...
Старый
 
Размещено в Без категории
Комментарии 31 samana вне форума
Аватар для Котяра
буду краток

Нативный EventDispatcher в старлинге

Запись от Котяра размещена 27.11.2013 в 23:10
Обновил(-а) Котяра 27.11.2013 в 23:26
Запилил в очередной раз нативный диспатчинг - версия 2.
теперь ещё более нативный)
https://github.com/k0t0vich/Starling...ative-dispatch
https://github.com/k0t0vich/feathers...ative-dispatch
пример юзания
https://gist.github.com/k0t0vich/7642622

Пришлось отазаться от пулинга, но, имхо, это не так страшно.
Клонирование, хоть и есть, но только в баблинге и для тех объектов, у которых есть подписчики.

В общем, ...
Старый
 
Размещено в Без категории
Комментарии 5 Котяра вне форума
Аватар для dimarik
.

Прошу проголосовать на bugbase.adobe.com

Запись от dimarik размещена 15.11.2013 в 23:49
По мотивам моей записи в блоге, а там я таки засвидетельствовал серьезный недостаток текущего AIR SDK в базу данных Adobe bugbase.
События вроде как вяло развиваются.

Если есть желание, можете потестить баг (я обещаю через личку помочь с установкой и настройкой проекта) и/или проголосуйте за него. Ее уже приняли к рассмотрению.

Откланиваюсь.
Старый
 
Размещено в Без категории
Комментарии 20 dimarik вне форума
Аватар для Dukobpa3

Медиатор, Прокси

Запись от Dukobpa3 размещена 14.11.2013 в 23:02
Обновил(-а) Dukobpa3 16.11.2013 в 16:55
Ссылки на форуме по теме:
Клиентские реализации медиатор-прокси.
Медиатор
Медиатор-прокси, сравнение

Другие источники:
Медиатор
Прокси
Статья в Вики, Медиатор
Статья в вики, прокси (Пример приведен очень крутой, но не сразу понятный. К тому же новичку будет сложно уловить связь между четырьмя сферами применения прокси, расписывать не хочу, это есть в статьях выше, но на вопросы отвечу с удовольствием)
  • Медиатор: организовывает
...
Старый
 
Размещено в Без категории
Комментарии 9 Dukobpa3 вне форума
Аватар для Dukobpa3
Рейтинг: 5.00. Голосов: 2.

Инкапсуляция объекта vs инкапсуляция поведения

Запись от Dukobpa3 размещена 14.11.2013 в 22:12
Обновил(-а) Dukobpa3 18.11.2013 в 22:33
Рассмотрим два подхода к программированию.
Использование полноценных логических объектов которые что-то могут.
И использование разного рода статических функций и классов для обработки объектов.

Итак. ООП нас учит таким правилам как инкапсуляция и наследование.
Инкапсуляция это типа как объединить некий срез логики в одном месте, в одном классе (на пару уровней выше можно уже рассматривать инкапсуляцию на уровне модулей, к примеру, но сейчас пока не об этом). Наследование ...
Старый
 
Размещено в Без категории
Комментарии 11 Dukobpa3 вне форума
Аватар для dimarik
.

Anonymous function vs. Adobe AIR ADT

Запись от dimarik размещена 11.11.2013 в 15:00
Обновил(-а) dimarik 11.11.2013 в 22:57
Такая печаль. При использовании анонимок и после упаковки в ipa первый созданный экземпляр никогда не удаляется из памяти. А значит, не удаляются все объекты, на которые у него есть ссылки.

На устройстве баг проявляется в таком виде:

Код AS3:
new BindingWarsObject(); // <-- остается в памяти
new BindingWarsObject(); // удаляется
new BindingWarsObject(); // удаляется
System.gc();
 
/**
  * Constructor
  */
 public function
...
Старый
 
Размещено в Без категории
Комментарии 12 dimarik вне форума
Аватар для Dukobpa3

Поговорим о паттернах.

Запись от Dukobpa3 размещена 09.11.2013 в 04:02
Обновил(-а) Dukobpa3 15.11.2013 в 04:35
Вводная статейка. Скорее как заголовок.
Смотивировать создать ветку не удалось. Посему могу инкапсулировать идеологические холиворы в своем блоге.
Начинаю цикл статей по паттернам.

Вводная:

Нашелся наконец-то человек, который в двух словах смог сказать чем синглтон противоречит принципам ООП.

Итак.
Один из основных принципов фен-шуй в ООП - Один класс, одна задача, один уровень абстракции.
В случае с синглтоном мы на один класс ...
Старый
 
Размещено в Без категории
Комментарии 24 Dukobpa3 вне форума
Аватар для dimarik
.

Kung-fu. Как правильно терять ссылку на master string.

Запись от dimarik размещена 05.11.2013 в 23:11
Обновил(-а) dimarik 06.11.2013 в 01:16
В очередной раз пытаясь умерить аппетиты своего приложения для мобилки, нашел забавным поведение эмулятора (adl). Вполне возможно, это распространяется на остальные flash-похожие рантаймы.

Будем "выгружать" т.н. master string. Сразу скажу, что выгрузить его у меня не получилось. А у jacksondunstan можно почитать о технике устранения неприятеля. Я не думаю, что они выгрузили его из памяти. Скорее просто потеряли ссылку на него.
Но вот сама техника подкачала. Ссылка ...
Старый
 
Размещено в Без категории
Комментарии 10 dimarik вне форума
Аватар для Dukobpa3

Мои Пожитки.

Запись от Dukobpa3 размещена 22.10.2013 в 21:12
Обновил(-а) Dukobpa3 24.10.2013 в 12:09
Собственно вот.
Привел в порядок, смержил пачку вариантов воедино, так как в каждой конторе где работал что-то правилось и привносилось. Так же перенес с битбакета в гитхаб.
Не уверен что всё сразу взлетит так как после мерджа нормально проверить не удалось, но вроде всё рабочее.
Код хорошо документирован.
На главной страничке репо тоже есть описание.
Если кого-то что-то конкретно заинтересует, могу статью накатать. А без запроса лениво.
Буду рад фидбекам ...
Старый
 
Размещено в Без категории
Комментарии 23 Dukobpa3 вне форума
Аватар для AlexCooper
Рейтинг: 5.00. Голосов: 3.

Загрузка шрифтов в Runtime

Запись от AlexCooper размещена 17.10.2013 в 05:42
Обновил(-а) AlexCooper 17.10.2013 в 13:37
Всем читателям желаю хорошего чтения.
Это первая моя запись в блоге, надеюсь у читателей не возникнет проблем с формой подачи материала.

И так начнём с постановки задачи
- Требуется реализовать динамическую загрузку шрифтов непосредственно во время выполнения программы.

Начал я, как обычно с теории. Погуглив всемирную сеть, нашёл несколько примеров как это делают другие в Runtime.
Привожу ccылки некоторые из них
Загрузка ttf - не работает ...
Старый
 
Размещено в Без категории
Комментарии 2 AlexCooper вне форума
Аватар для KumoKairo
Рейтинг: 5.00. Голосов: 3.

Предотвращение одновременной прокрутки браузера и flash-контента, «расширенный курс»

Запись от KumoKairo размещена 23.09.2013 в 15:31
Продублирую, пожалуй, сюда эту свою "статейку" с хабра. Может кому-то пригодится. А может найдутся недочеты и исправления.
=====================
Совсем не думал, что решая такой простой (как мне казалось) вопрос, придется здорово потрудиться и пораскинуть мозгами. Но в итоге получилась полноценная библиотека, которая адекватно работает со всеми видами flash - плагинов на странице (включая Pepper flash в Chrome, о котором позже).

Но обо всем по порядку.
...
Старый
 
Размещено в Без категории
Комментарии 11 KumoKairo вне форума
Аватар для Котяра
буду краток
Рейтинг: 5.00. Голосов: 2.

Нужны ошибки компиляции при создании экземпляра синглетона извне? Запросто!

Запись от Котяра размещена 13.09.2013 в 00:51
Обновил(-а) Котяра 13.09.2013 в 15:17
Саму идею синглетонов не очень люблю, и очень редко их использую, но тут в курилке товарищ подсказал способ, как в as3 сделать не рантайм еррор при создании экземпляра синглетона, а ошибку компиляции.
Собственно, расписывать код не буду - проще показать:
Код AS3:
package  {
 
	public class Singleton {
		private static var _instance:Singleton;
 
		public var value:int = 1;
 
		public function Singleton(protector:Protector) 	{
		}
...
Старый
 
Размещено в Без категории
Комментарии 10 Котяра вне форума
Аватар для dimarik
.

Необъяснимые memory allocation на строгих проверках.

Запись от dimarik размещена 05.08.2013 в 12:32
Обновил(-а) dimarik 07.08.2013 в 13:04
Недавно обнаружил забавную особенность. Если использовать строгую проверку (stricte quals "===" или "!==") при сравнении двух Number, и если один из операндов не является целым числом, то происходит выделение памяти (memory allocation), примерно 8 байтов на одну проверку. Строгое сравнение остальных типов данных не вызывает лишнее выделение памяти.

GC лишнюю память, конечно, очищает, но на выделение и очистку уходит драгоценное время.

В байткоде ...
Старый
 
Размещено в Без категории
Комментарии 4 dimarik вне форума
Аватар для alatar

Баги TextField в iOS

Запись от alatar размещена 29.07.2013 в 00:39
Обновил(-а) alatar 31.07.2013 в 01:06
На днях столкнулся с занимательным багом в TextField под iOS.
Суть в следующем, если программно менять текст в текстовом поле, то введенный ранее текст выделяется и... добавленный текст не отображается. Хотя свойство text при этом изменяется, правда ровно до того момента пока не будет нажата любая клавиша на клавиатуре.

Как воспроизвести
Вот минимальный код для воспроизведения бага:
Код AS3:
package
{
	import flash.display.Graphics;
	import flash.display.Sprite;
...
Старый
 
Размещено в Без категории
Комментарии 4 alatar вне форума
Аватар для GBee
Рейтинг: 5.00. Голосов: 3.

Узелок на память 2 - FileReference удаляет BOM

Запись от GBee размещена 18.07.2013 в 03:22
Привет, будущий я.
Если вдруг ты забыл, почему сохраненные тобой через FileReference *.CSV открываются в экселе с кракозябрами вместо русских символов. Знай! FileReference зачем-то режет BOM. Эти маленькие 3 байта. Такие важные для экселя. Короче, вот простенький выход:
Код AS3:
public function convert(data:String):String 
{
    var b:ByteArray = new ByteArray();
    //Под съедение
    b.writeByte(0xEF);
    b.writeByte(0xBB);
    b.writeByte(0xBF);
...
Старый
 
Размещено в Без категории
Комментарии 0 GBee вне форума
Аватар для BBOY Ильич
Рейтинг: 5.00. Голосов: 4.

Загрузка шрифтов во время выполнения программы

Запись от BBOY Ильич размещена 17.07.2013 в 04:03
Понадобилось недавно научиться использовать внедренные шрифты, которые подгружаются в рантайме. Вариант с загрузкой отдельных swf меня не устраивал, и я, вдохновившись этой статьей и исходниками, приложенными к ней, а также вооружившись интересной библиотекой firetype, решил соорудить свой вариант.

Реализовано просто: парсим шрифт, генерируем swf с внедренным шрифтом и грузим назад в приложение.
Со многими шрифтами справляется нормально, но некоторые вычурные шрифты может рендерить ...
Старый
 
Размещено в Без категории
Комментарии 1 BBOY Ильич вне форума
Аватар для wvxvw
Modus ponens

Dired - текстовый проводник по файловой системе

Запись от wvxvw размещена 29.06.2013 в 04:07
Обновил(-а) wvxvw 27.07.2013 в 11:42
Предлагаю вашему вниманию серию (хочется верить) видео посвященных работе с Эмаксом вообще, и Dired в часности.
Первое видео заняло немало подготовки, проб и ошибок. Но есть надежда, что дальше будет по-проще.

Я постараюсь в этих видео дать немного более обширное представление о предемете разговора, и меньше хвастаться быстротой рук Поэтому какой-то сверхъестесственной акробатики вы тут не увидите, но, возможно, даже люди с некоторым опытом работы смогут почерпнуть для себя ...
Старый
 
Размещено в Без категории
Комментарии 11 wvxvw вне форума
Аватар для Tails
Рейтинг: 5.00. Голосов: 2.

SWF to PNG Converter

Запись от Tails размещена 29.06.2013 в 02:43
Обновил(-а) Tails 06.02.2016 в 14:23
Для своих нужд, я разработал конвертер swf -> png. Есть желание поделиться с общественностью.
Лицензия - MIT

Программка переводит указанный клип в секвенцию png кадров с поддержкой сценариев на AS2-3. Отрисовка кадров происходит посредством стандартного векторного флешового визуализатора и его привязкой к enterFrame.

Онлайн версия: (После сохранения кадров надо кликнуть в любое место на экране)
SWFtoPNGConverter.swf   (31.1 Кб)


В качестве демонстраций, ...
Старый
 
Размещено в Без категории
Комментарии 28 Tails вне форума

 


Часовой пояс GMT +4, время: 22:02.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.