![]() |
Использование TextFormat в классах
Есть такой вот класс (урезанный). В нём я хочу создать текстовое поле, задать ему TextFormat, присвоить некую переменную и в каждом кадре отслеживать изменение этой переменной. Не получается в классе задавать TextFormat. Подозреваю, что надо импортировать некий встроенный класс для текста, чтобы получить возможность использовать все его свойства и методы (как, например, с мувиком).
Пробовал задавать формат в руте, а в классе на него ссылаться. В таком случае класс компилится, поля создаются, но TextFormat не работает. Классы только начал осваивать, советы типа "Иди читай то-то и то-то" приветствуются :)) Код:
import mx.utils.Delegate; |
Во-первых, класс надо наследовать от MovieClip'а.
|
или в конструкторе:
_scoreText.setNewTextFormat(my_fmt); или в updateInterface : _scoreText.text = _score; _scoreText.setTextFormat(my_fmt); |
Код:
class Zig_game.Interface { |
MrPoma,
Почему наследовать от Мувиклипа? Я думал об этом, но посчитал избыточным и просто неудобным в силу того, что проще аттачить 2 текстовых поля и 3 мувика (а именно столько мне надо) не в руте, а непосредственно в классе. Возможно, я чего-то не знаю, но создание экземпляра при подобном наследованим будет выглядеть как: Код:
var iface:Interface = Interface(this.attachMovie("interface", "interface", _root.getNextHighestDepth(), {_x:x, _y:y});Silin, Видимо чего-то не хватает. При отладке ругается на задание свойств my_fmt: "This statement is not permitted in a class definition." tikhop, Спасибо, если немного адаптировать - всё работает. Silin, Пока разбирался с кодом от tikhop, понял главное, чего не хватало - объявления my_fmt как переменной типа TextFormat. Спасибо, тоже подходит. |
| Часовой пояс GMT +4, время: 15:16. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.