Портал для веб-мастера
Вход пользователей
Поиск статей
WoWeb.ru » Статьи » Flash » Общая информация

Глюки Flash

Вот пара глюков, которые нам удалось выявить во Flash 5. На деле их гораздо больше, но не все удается "поймать". Если вам известны какие-нибудь еще глюки (читай - баги) Flash 5 или Flash MX - напишите нам, пожалуйста! Итак...

Проблема "Я"

Данная проблема относится только ко Flash 5 (ну и, может быть, к прошлым версиям). Во Flash MX она устранена, также в тексте правильно отображается кириллица (русские буквы).

Если в текстовой строке внутри Action script'a попадется строчная русская буква "я", то , при компиляции, flash выдаст сообщение о том, что строка закончена неправильно и пропустит скрипт текущего кадра, оставив графику. Видимо это флэшовый глюк, и исправлять его придется самим, причем программно… Скорее всего, способов его устранения множество, мы предлагаем 2 проверенных:

1-й способ: добавление к тексту кода "chr(255)", вместо буквы "я"

У Вас есть строка:
text1="--- Проблема буквы я ---";

Вставляем код таким образом:
text1="--- Проблема буквы "+chr(255)+" ---";

Этот способ оправдывает себя только при небольших текстах. Если в тексте встречается множество "я" то строки получаются слишком громоздкие.

2- способ: замена в тексте буквы "я" на любой "ненужный" символ, и обратно

Берем символ "~" и заменяем на него все "я"

было:
text1="--- Проблема буквы я ---";

получилось:
text1="--- Проблема буквы ~ ---";

А в процессе работы меняем символ "~" на "я", к примеру, так:

//здесь назначаем "ss" как подстроку строки ( "text1" , с i -ого символа, длинной в 1 символ )
ss = substring(text1, i, 1);


//если попалась "~" , переназначаем..
if (ss == "~") ss = chr(255);

P.S. Видимо, в самом редакторе Flash текстовая строка будет выглядеть "--- I?iaeaia aoeau y ---" и это нормально =)

Коды символов можно посмотреть в Windows: Пуск -> Стандартные -> Служебные -> Таблица символов . Внизу окна будет показан код выбранного символа. Windows XP, показывает код в шестнадцатиричной системе (к примеру, 0xE0) (преобразовать в 10-чную можно в калькуляторе)

Проблема неправильной интерпретации комментариев в экспертном режиме

Этот баг, наверное, стоил немалых усилий Macromedia :) Суть его состоит в том, что когда в экспертном режиме редактирования мы ставим комментарии справа от if или for, комментарий интерпретируется как инструкция, а содержимое скобок почему-то из них выпадает.

У вас есть следующего вида код:

if (s == 25) // попадание в нужную точку
{
gotoAndPlay(30);
}

Попробуйте перевести редактор в "нормальный" режим редактирования. У вас получится:

if (s == 25) {
// попадание в нужную точку
}
gotoAndPlay(30);

В следствие чего if будет жить отдельной жизнью, а gotoAndPlay отдельной. Вне зависимости от режима редактирования скрип выполняется одинаково: проверка параметра s не приносит никаких результатов, а gotoAndPlay вызывается всегда. Наверное, этот баг происходит оттого, что Flash интерпретирует комментарии как отдельную инструкцию. В любом случае, мы посоветуем вам быть осторожней с комментариями на одной строчке с другими инструкциями. Пишите лучше так:

// попадание в нужную точку
if (s == 25)
{
gotoAndPlay(30);
}

К сожалению, во Flash MX данная проблема сохранилась :(. Будьте бдительны, а то можете потерять часик-другой при отладке.

Автор: RAstudio · Добавлена: 2002-08-13
Просмотров: 3959 · Рейтинг: 4.2

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела
Flash
Apache
WWW
PhotoShop
Веб-дизайн
Раскрутка и реклама
Базы данных
3D графика
Хостинг
Истории веб-мастеров
Web-технологии
Сетевая безопасность
Программирование для Web
Операционные системы

Новые статьи
Лучшие статьи
Популярные статьи
Комментируемые статьи
Разделы сайта
Скрипты
Статьи
Шрифты
Флэш исходники
HTML шаблоны
Партнерки
Клипарты
Смайлы
Фоны
Гифы
Иконки
Опрос сайта
Есть ли у вас свой сайт?
Всего ответов: 141128
Наша кнопка
WoWeb.ru - портал для веб-мастера