143. Debug FlashPlayer в Chrome браузере

debug_fp_chrome_0

Всем привет!
Я уже очень давно пользуюсь браузером Firefox, и Chrome запускаю крайне редко. И поэтому я как то упустил момент когда гугл решил не пускать debug-плеер в браузер Chrome. Покопавшись в сети, я нашел способ, если вам интересно знать как это сделать для Windows и OSX, читайте далее.

Читать далее
Эту статью прочитали 1694 раз

142. [ANE] Ошибка с ресурсами при сборке ANE для Android

Android – Все о разработке для Android, в том числе про нативные расширения ANE
http://flashpress.ru/blog/category/mobile/android/

Приветствую, друзья!
Статья будет полезна разработчикам ANE библиотек для Android. Собрав библиотеку для Android, на OSX приложение компилировалось нормально, но при попытке собрать .apk на Windows увидел следующую проблему:

aapt tool failed:C:\Users\Support\AppData\Local\Temp\850ed517-21b4-4324-9a64-20869be0c997\app_entry_res\values\strings.xml:19: error: Resource at app_version appears in overlay but not in the base package; use to add.

ane-resource-error1

Т.е. сборщику не хватает каких то ресурсов. Для решения проблемы в моем случае оказалось достаточно внедрить в ANE каталог res/values внутри которого лежит файл strings.xml следующего содержания: Читать далее
Эту статью прочитали 1182 раз

141. [warning] Особенности написания ANE для Android

Warning – Стоп! Будьте внимательны, впереди аварийно опасный код.
Посмотреть все статьи серии: http://flashpress.ru/blog/category/warning/
Android – Все о разработке для Android, в том числе про нативные расширения ANE
http://flashpress.ru/blog/category/mobile/android/

Друг, если когда нибудь ты захочешь написать ANE для Android, помни что если ты создал переменную Boolean value и не задал значение(true или false), тогда проверять if(value) нельзя, потому что Google скажет “ой все” и закроет приложение !!!

Не знаю, может быть это какая то особенность java, но я убил на это 2 часа дописывая последние штрихи своей первой ANE для Android, вот этой вот http://flashpress.ru/blog/ane/audience-network/ :)

Читать далее
Эту статью прочитали 785 раз

140. [ANE] Просмотр нативных логов в iOS приложении

Adobe Native Extensions – Нативные расширения для платформ iOS
http://flashpress.ru/blog/category/ane/

А вы знаете что из flash-приложения можно увидеть нативные логи, которые создаются методом NSLog в iOS приложениях? Для чего это нужно? Ну например для отладки своих нативных расширений, когда нет возможности подключить Xcode чтобы увидеть логи. Ну хорошо, если вы разрабатываете нативные расширения, значит у вас наверняка есть под рукой Xcode и вы и так не плохо умеете смотреть нативные логи… Но вот другой пример, разрабатывая библиотеку для работы с рекламой Facebook наткнулся на следующую проблему: у Facebook SDK есть метод который активирует тестовый режим, но вот беда, чтобы активировать его, необходимо вызвать специальный метод и передать туда deviceHash, который почему то пишется только в NSLog-ах. Получается что пользователь использующий в своем приложении ANE-шку для работы с рекламой Facebook никак не сможет активировать тестовый режим если у него нет Xcode. Думаю достаточно болтовни, давайте ближе к делу.

Следующий пример показывает как можно посмотреть нативные NSLog-и в AIR приложении с помощь ANE библиотеки FPNativeLog:

Библиотека может видеть все вызовы NSLog() сделанные в текущем приложении: другими SDK, ANE и т.п. Скачать библиотеку и посмотреть документацию можно на странице библиотеки FPNativeLog.

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 743 раз

139. [ANE] Подключаем iCloud к мобильному приложению. Нативное расширение

Adobe Native Extensions – Нативные расширения для платформ iOS
http://flashpress.ru/blog/category/ane/
UPDATE: Новая версия библиотеки http://flashpress.ru/blog/ane/iCloud/

После долгих поисков библиотеки для работы с iCloud в iOS приложении, нашел только решение от Vitapoly. К сожалению предлагаемое ими решение платное (20$) и к тому же форум у них мёртвый :( . При всей моей неприязни к Objective-C, пришлось писать нативное расширение самому, что в итоге получилось – читайте далее.

Читать далее
Эту статью прочитали 1272 раз

138. [game, ANE] XProject1. Нативное расширение для работы с галлереей и камерой

Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/
Adobe Native Extensions – Нативные расширения для платформ iOS
http://flashpress.ru/blog/category/ane/

Суть проблемы

В приложении необходимо было загрузить фотографию из альбома и сохранить в каталоге приложения, для дальнейшей работы с этой фотографией. Во флеше есть класс CameraRoll который умеет загружать фотографии из вашей фотопленки, и есть еще класс CameraUI, с помощью которого можно сделать фотографию с помощью камеры. Эти классы показывают нативные окна операционной системы и прекрасно справляются со своей задачей. Но в моем приложении необходимо было загрузить фотографию и сохранить ее в каталоге приложения, что бы после выхода из приложения можно было продолжить работу с фотографией. Первым делом я загрузил фотографию с помощью класса CameraRoll, попытался конвертировать в ByteArray с помощью PNG-энкодера и сохранил байтовый массив с помощью класса File. В итоге получил проблему с производительностью, процесс сохранения на моем устройстве происходил очень долго. В итоге решил написать ANE-библиотеку для iOS.

Читать далее
Эту статью прочитали 1086 раз

137. [game] XProject1. Обработка Touch-событий на мобильной платформе

Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/

Суть проблемы

В стандартной событийной модели ActionScript имеются некоторые неувязки при использовании touch-событий.
Например, в моем приложении необходимо было использовать событие зума TransformGestureEvent.GESTURE_ZOOM (сведение/разведение двух пальцев на сенсорном экране), а для того, чтобы это событие стало доступным, необходимо включить специальный input-режим:

, который в свою очередь отключает поддержку touch-событий TouchEvent, которые необходимы для обработки одиночных касаний на экране.
Другая проблема: в приложении есть визуальный компонент, который может обрабатывать сразу несколько touch-событий:

  • Таскание элемента вверх/вниз – скролл
  • Таскание элементы вправо/влево – чтобы скрыть его
  • Одиночное касание пальцем над элементом

Проблема в том, что если пользователь начал двигать элемент в одном направлении(например вверх или вниз), то остальные события(таскание влево/вправо и одиночное касание) не должны срабатывать до тех пор, пока пользователь не отпустит палец с экрана.

Третья проблема заключается в том, что стандартные touch-события нельзя тестировать в обычном flash-приложении(не мобильном).

Читать далее
Эту статью прочитали 1679 раз

136. [AIR, ANE] Нативный загрузчик

Использование Adobe AIR для написания мобильных приложений и не только.
http://flashpress.ru/blog/category/mobile/
Adobe Native Extensions – Нативные расширения для платформ iOS
http://flashpress.ru/blog/category/ane/

Попалась на глаза сегодня интересная статья . Автор собрал Нативное расширение ANE для iOS для отображения процесса загрузки. Интерес этого расширения в том, что когда во флеше выполняются сложные операции, которые грузят процессор, то все флешовые анимации начинают тормозить(если вовсе не остановливаются), а вот предлагаемое нативное расширение продолжает показывать плавную анимацию. Я пожалуй возьму себе на вооружение в свой текущий проект, ибо есть места где процессор нагружается не слабо :) .

Автору респект! Ждем аналогичное расширение для Android.

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 688 раз

135. [game] XProject1. Распределение элементов вокруг заданной точки

Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/

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

Содержание:

Суть проблемы

Есть массив визуальных элементов. Необходимо их распределить равномерно около заданной точки. Распределять их случайно через Math.random() не вариант, потому что элементы часто местами кучкуются, а местами образуются пробелы, а хочется что бы элементы распределялись равномерно. И еще важно что бы элементы не пересекались, в случае простого рандома этого добиться будет проблемно.

Вот как выглядит случайно распределение используя Math.random() (Нажмите кнопку allocation для распределения элементов):

Здесь должна быть флешка. Установите Flash Player

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

Читать далее
Эту статью прочитали 1635 раз

134. [game] XProject1. Масштабирование карты

Matrix – серия статей посвященных работе с Матрицами.
Все статьи серии:
http://flashpress.ru/blog/category/matrix/
Game – Серия статей посвященных разработке flash-игр на языке ActionScript. Игры для соц.сетей и мобильных платформ iOS, Android.
http://flashpress.ru/blog/category/game/

Предыстория

В процессе написание игры(кодовое название XProject1, релиз будет скоро) часто возникают сложности, которые приходится решать различными способами. И я решил писать такие небольшие статьи о том, как была решена та или иная проблема в реальном игровом проекте. После релиза игры, вы сможете увидеть результат в готовом проекте. Эта статья будет первой из такой серии, и расскажу я о том, как я реализовал масштабирование “карты” (на самом деле в моем проекте это не карта, но применение очень близко к игровым картам).

Суть проблемы

Реализовать масштабирование можно различными способами, но в моем проекте было четкое разделение между различными визуальными компонентами и связь между ними была минимальная(чтобы не плодить спагетти-код, с кучей взаимосвязей). А если конкретнее, есть компонент mapView которые отображает карту. У него есть один публичный метод:

который собственно масштабирует карту. Есть еще компонент scrollerView который показывает скролер и генерирует событие при таскании бегунка. У scrollerView есть так же один публичный get-метод:

Который вернет процент масштаба от 0 до 1.
Для того чтобы сконцентрироваться на рассматриваемой проблеме, я написал простой проект, чтобы было нагляднее:

Здесь должна быть флешка. Установите Flash Player

Итак, имеем две проблемы:

  • Карта не должна уменьшаться до точки(должен быть какой-то минимальный размер)
  • Карта масштабируется относительно левого верхнего угла изображения. Необходимо сделать так, чтобы карта масштабировалась относительно центра экрана(там где красный крест)

Читать далее
Эту статью прочитали 1961 раз