PDA

Просмотр полной версии : Проффи объясните!


pavit
10.11.2001, 21:20
Какие то грабли с димнамической текстовой переменной, присваиваю ей значение, а вместо этого вижу надпись при проигрывании swf'а
1.#QNAN

что сие означает? :confused:

Длина строки 171 символ! Это много?

[subway]design
10.11.2001, 21:37
NaN - это значит, что "значение не определено"
А ты наверное ошибся в имени переменной, или забыл ее указать

сочиNetz
10.11.2001, 22:58
не совсем "не определено"
NaN- Это Not_A_Number- сиречь- не число

[subway]design
10.11.2001, 23:00
да, точно

pavit
12.11.2001, 12:50
То, что NAN - означает не число я чесно говоря знаю. Но я и не число переменной присваиваю и вывожу на экран переменную в виде текста, самое интересное оказывается ,что +chr(255) и add chr(255) совершенно разные вещи! :rolleyes: Вот так вот всегда, ошибки простейшие :D

vol
12.11.2001, 13:14
На самомо деле это - одно и то же, что +, что add. Но ты по-видимому так замутил свою переменную, что вместо текста flash ее "по умолчанию" считает не строкой, а числом. Отсюда и NaN. Вот тут и ковыряй.

pavit
12.11.2001, 14:45
Короче с add работает а с + нет!

vol
12.11.2001, 14:51
Вот описание адда:

add

Синтаксис

string1 add string2
Аргументы

string1,2 - произвольные строки.

Описание

Оператор; "склеивает" две или более строк. Оператор add заменил оператор & , существовавший в Flash 4; Flash 4 файлы, использующие & оператор, автоматически преобразуются к использованию add оператора для сложения строк при работе в среде Flash 5 Player. Однако не рекомендуется использовать оператор add во Flash 5; вместо него лучше использовать оператор + при работе с Flash 5 Player. Используйте оператор add только в том случае, если вы работаете с Flash Player версии 4 или ниже.
--------------------

Естественно, когда ты add используешь, он работает только со строками по определению. + же - ему по барабану: число или строка. Вот он и считает твою композицию числом. Да ты вложи кус кода - что говорить абстрактно?

pavit
12.11.2001, 16:41
Да ты прав я взял flash4 исходник и пытаюсь приспособить его к пятому. Так как в 5 я еще ученик, поэтому возникают грабли. Кароче из под 4 вышел код в 5 следующийset ("/st:TextBuffer", " Красота - " add chr( 255) add "вл" add chr( 255) add "етс" add chr( 255) add " индиви- дуальной оценкой и крайне противоречива."); разумеется add chr(255) исправил сам, так как с буквами "я" 5-ый вообще ни чего не выводил, а с + chr(255) писал вместо моей строки свою строку 1.#QNAN
Такие вот грабли! ;) почему с плюсом не работает не пойму, :confused: вроде бы и слева строка и справа строка :eek:

pavit
12.11.2001, 16:43
Кстати vol, ты где описание скачал? (Для 5-го и на русском разумеется) ;)

vol
12.11.2001, 17:35
У тебя возникла все та же проблема со всем давно уже осточертевшей буквой я.
А написать надо было вот как (без учета пути к твоему текстбуферу)

t= "Красота \xffвл\xffетс\xff индивидуальной оценкой и крайне противоречива.";

И - никаких аддов и плюсов тоже. Кстати, и пути нужно указывать через точку, т.е. abc.textbuffer="чего-то там" вместо этих /:

А с хелпом - очень просто. Найди по поиску на форуме контекст РУССКИЙ ШЕЛП (именно шелп, а не хелп) и там и увидишь ссылки, что умные люди до меня нашли, а я - воспользовался. За что им весьма признателен.

pavit
12.11.2001, 20:57
Самое прискорбное - в IE при этром я вижу точно такую же запись Красота \xffвл\xffетс\xff индивидуальной оценкой и крайне противоречива.
вместо того чтобы быть Красота является индивидуальной оценкой и крайне противоречива.
Flash плеер вроде бы 5. так как я редактирую в пятом

vol
13.11.2001, 10:52
Знаешь, это у тебя ерунда какая-то, это просто не может не работать. Это ведь весьма и весьма простая вещь. Посмотри исходник. Где-то что-то ты не так делаешь.

pavit
13.11.2001, 21:29
Самое интересное Vol, что применительно к моему случаю данный прмер не работает. Может потому, что я присваиваю значение сначало промежуточной переменной а затем текстовой Вообщем лучше глян на исходний если не трудно

[subway]design
13.11.2001, 22:01
add я никогда не использовал, а использовал +, и все работало

pavit
13.11.2001, 22:08
[subway]design я бы может быть тоже не стал мудрить если бы с плюсом сработало, глян вон исходник выше может, что посоветуешь.

vol
14.11.2001, 12:51
Ты просто хотел сделать печатную машинку. Знаешь, я не стал разбираться в твоем скрипте, т.к. он глючный (у меня твой вариант вообще никак не заработал). Перво-наперво, тебе нужно переходить на синтаксис пятого. Все эти дела типа number - не обязательны, в выражении
Number(TextLen)<=Number(length(TextBuffer)
они избыточны. Возьмет и так. Тем паче
TextLen = Number(eval("TextLen"))+1; - просто TextLen+=1;
Но суть не в том. Просто посмотри мой вариант этого дела (а способов реализации машинки - немеряно, каждый пишет, как нравится) и примени его, не мудрствуя лукаво. В самом клипе машинки последний кадр можно двигать туда-сюда, это - задержка перед началом повторной печати строки.
И обрати внимание: не /xff, а \xff. Здесь у тебя м.б. была ошибка.
У меня в тексте "кракозябры", не обращай внимания.

pavit
14.11.2001, 13:49
Спасибо vol .
Ты правильно заметил перехожу с 4 на 5, поэтому и возникают глюки, особенно без доки (где ее взят я уже нашел) ;)