Архив рубрики: Аварийно опасный код

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/ :)

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

123. [warning] Баг с html-кодом внутри TextField

Warning – Стоп! Будьте внимательны, впереди аварийно опасный код.
Посмотреть все статьи серии: http://flashpress.ru/blog/category/warning/

Обнаружил сегодня очень странную ошибку, связанную с html-текстом внутри TextField:

Слово “text” остается окрашенным в красный цвет. Видимо плеер проверяет, если текст(без html-кода) одинаковый, то не производит замену текста.

Помните, баги не дремлют!
Serious Sam
Эту статью прочитали 675 раз

87. [warning] Бесконечные циклы и период ожидания

junior – серия статей для начинающих ActionScript-разработчиков.
Все статьи серии:
http://flashpress.ru/blog/category/junior/
Warning – Стоп! Будьте внимательны, впереди аварийно опасный код.
Посмотреть все статьи серии: http://flashpress.ru/blog/category/warning/

Что бы лучше понять суть проблемы, посмотрите на следующий код:

, и попробуйте предположить что случится при выполнении этого кода? Бесконечный цикл приведет к тому что флешка рано или поздно выдаст вам ошибку вида:

Error: Error #1502: Сценарий выполнялся дольше периода ожидания, установленного по умолчанию на 15 секунд.
at test/clickHandler()[/Users/sam/mc/fp/book/arraytest/src/test.as:17]

Не забывайте следить за тем что бы ваши циклы вовремя завершались. Это качается не только циклов. Если какая то процедура выполняется слишком долго, например отрисовка в шейдерах – вы получите ту же ошибку. Как видно из текста ошибки, флеша по умолчанию выделает одному оператору 15 секунд времени. Вы можете изменить значение этого параметра. Читать далее
Эту статью прочитали 1473 раз

81. [warning] Не обязательные параметры фукнции

junior – серия статей для начинающих ActionScript-разработчиков.
Все статьи серии:
http://flashpress.ru/blog/category/junior/
Warning – Стоп! Будьте внимательны, впереди аварийно опасный код.
Посмотреть все статьи серии: http://flashpress.ru/blog/category/warning/

Рассмотрим ситуацию когда необходимо слушать событие клика мыши, и при этом необходимо сразу же один раз выполнить код, который внутри обработчика клика мыши. Очень часто я вижу вот такой код:

Т.е. вызывается метод clickHandler с параметром null. Никогда так не делайте , потому что через пол года вы можете забыть о том что функция может быть вызвана с параметром null, и если вы попытаетесь в методе clickHandler использовать свойства объекта event, вы получите ошибку:

А если вы работаете в команде, то ваш коллега открыв этот код, может не знать что функция clickHandler может вызываться с параметром null, что тоже приведет к ошибке, и недовольству к вам со стороны коллеги.

В таких случаях лучше явно указать в методе clickHandler что параметр event не обязательный:

Посмотрев на эту функцию clickHandler, сразу становится понятно что в параметре event может прийти значение null.

Помните, баги не дремлют!
Serious Sam
Эту статью прочитали 722 раз

76. [warning] Меняем размер пустого Sprite

junior – серия статей для начинающих ActionScript-разработчиков.
Все статьи серии:
http://flashpress.ru/blog/category/junior/
Warning – Стоп! Будьте внимательны, впереди аварийно опасный код.
Посмотреть все статьи серии: http://flashpress.ru/blog/category/warning/

Представьте себе ситуацию, когда у вас в коде появился пустой объект класса Sprite, или любого другого унаследованного от Sprite. Под пустым я понимаю в graphics-е этого спрайта ничего не нарисовано, и внутри нет ни каких других визуальных объектов, или они тоже пустые. Другими словами пустой – это значит что его свойства width и height равны 0. Так вот если вы такому объекту зададите любое значение width или height, то этот спрайт будет не видимым даже после того как вы что либо нарисуете в нем , как показано в примере:

FlashBuilderFlashIDE
Код для редактора Adobe FlashBuilder
Код для редактора Adobe Flash CS Professional

В момент выполнения флешки мы ничего не увидим, и в методе trace мы увидим значения 0 0, не смотря на то, что в graphics-е мы нарисовали красный квадрат размером 100×100. Даже если вы попытаетесь добавить в этот sprite другой не пустой спрайт – вы все равно ничего не увидите: Читать далее
Эту статью прочитали 1084 раз