![]() |
Эффект набора текста
Здравствуйте уважаемые флешеры! Не знаю точно, как назвать эту тему, поэтому боюсь в ответ услышать
"Название темы не отражает сути вопроса." Суть такая. Я сделал небольшой эффект набирающегося текста. Разместил его в классе (моя первая работа с классами :) ). Все работает как надо. Но! Если не дожидаясь окончания эффекта, снова запустить его, получается что-то не очень хорошее. Прошу помощи. Вот пример класса: Код:
class RandLetters { |
Здравствуйте ВВОY Ильич!
Начнем с общих вопросов: 1. Что должен делать класс? 2. На сколько я понимаю, экземпляры класса создавать ненужно, т.е. он у Вас будет как Math. 3. Зачем парсить строку на предмет создания массива, когда можно сразу создать массив: Цитата:
5. Не делайте многочисленных вызовов одного и того же: Цитата:
6. И последнее, самое важное - сделайте класс с конструктором, чтобы можно было создавать несколько экземпляров класса. Причина такого поведения возможно скрыта в том, что Вы передаете в класс сслыку на объект TextField во время первого выполнения. Код в классе еще не выполнился и значения в tf.text меняются динамически. Потом, недожидаясь окончания работы кода Вы запускаете еще один поток кода. И опять передаете ссылку на объект TextField в класс. Но объект TextField все еще меняется. Т.е. оба кода активно участвуют в изменении tf при этом анализируя значения в нем меняемые друг другом. Возможно, это и есть причина "абракадабры". |
Здравствуйте, Alex_beginner!
Большое спасибо за ответ. Я с классами раньше дела не имел, поэтому слобо представляю себе, как сделать класс с конструктором. Понял причину получаемой "абракадабры", но так и не смог понять, как исправить =( |
Это у вас не класс. Это функция засунутая в static-функцию класса.
И это ужасно, я считаю. Попробуйте посоздавать классы попроще. Разберитесь с методами, аттрибутами, с конструктором и прочими прелестями классов. Вообще, курс ООП желательно начинать с ноля, да. Ну и по теме - у вас не очищается ранее созданный интервал при вызове функции. Оттого и эффект такой. Чинить этот класс не стоит, лучше создайте новый, нормальный. |
Спасибо. Я бы с радостью создал нормальный класс, но не знаю, как он должен выглядеть =) Можно простой примерчик или статейку, где можно было бы поближе познакомится с классами?
|
Простой примерчик есть в хелпе. Наберите слово class, выделите его и нажмите F1.
|
сколько ж всего вылезло в хелпе по запросу "class" =) Ладно, ничего, с классами разберемся... Большое Вам спасибо за ответы.
И все-таки мне хочется узнать, как именно мне исправить свой код, чтобы не было этой путаницы. Может ну его, этот внешний .as? Размещу код в самой флешке, да и буду убивать интервал... Если у кого-нибудь найдется немного времени и желание помочь, напишите пожалуйста "правильную" версию моего недокласса. Хочется посмотреть на то, как должно быть правильно и впредь писать только так =). Буду премного благодарен. |
Я имел ввиду это:
ActionScript 2.0 Language Reference ActionScript language elements > Statements > class statement |
Спасибо
|
| Часовой пояс GMT +4, время: 17:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.