2014-11-09 12 views
-1

Потому что я ужасный, плохой человек, который любит делать что-то по-другому без причины, мне бы хотелось сделать что-то вроде mySprite.graphics.drawText (...).визуализировать текст в Sprite.graphics - as3 -?

Как я понимаю, единственный способ получить текст в настоящее время - создать TextField и добавить его как дочерний элемент mySprite. В моей конкретной ситуации я бы предпочел не делать этого.

Любые советы приветствуются!

ооо

+0

Возможно, вы плохо. Но вы достаточно плохи, чтобы создать свой собственный класс текста? На самом деле это не так сложно. Просто создайте маленькие спрайты, содержащие x-y координаты точек, которые «выписывают» различные буквы в нарисованных линиях внутри объектов Shape. Затем вызовите этот класс, чтобы нарисовать текст в свой спрайт. Пойдите для этого, плохой мальчик! – Craig

+0

@Craig Как я уже сказал в своем ответе, это приведет к отображению объектов, которые нужно добавить в качестве детей. В этом случае вы могли бы добавить сотни сцен на сцену, чтобы заменить 1. Я думаю, что с точки зрения памяти это может быть MARGINALLY эффективным, хотя (незначительно, как в, не будет иметь большого значения), поскольку он будет иметь меньше свойств и событий, чем объект TextField на строку текста. И все-таки, это действительно зависит от возможностей управления памятью OP, потому что это может получиться наоборот и привести к целому ряду утечек памяти. – Neguido

+0

Возможный дубликат [as3 - визуализировать текст прямо на Sprite.graphics?](http://stackoverflow.com/questions/5722561/as3-render-text-straight-to-sprite-graphics) – Vesper

ответ

0

TextField класс наследует InteractiveObject класс, который наследует класс DisplayObject. Объекты отображения не могут отображаться, если они не запрограммированы, что делает addChild.

Для получения дополнительной информации см. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html.

Кроме того, из http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/states/AddChild.html -

Класс AddChild добавляет нижестоящий экранный объект, такой как компонент, в контейнер как часть состояния представления. Вы используете этот класс в свойстве переопределения класса State.

+0

Нет, есть способ сделать то, что хочет OP. – Vesper

+0

@ Vesper Пожалуйста, научите меня, как добавить вещи на сцену, не добавляя ее в качестве экранного объекта. – Neguido

+0

Я связал вопрос, на котором есть ответы, как это сделать. Фактически, ссылка 'drawText' означает, что текст, нарисованный, будет статическим, поэтому вы можете называть' draw (textfield) 'once и называть его днем. – Vesper