У меня есть несколько спрайтов, которые я пытаюсь сгруппировать с помощью addChild (). Вот какой-то псевдокод, демонстрирующий, чего я хотел бы достичь:
import nav.text.TextSprite;
spr1:Sprite = new Sprite();
spr1.graphics.clear();
spr1.graphics.beginFill(0x000000);
spr1.graphics.drawRect(0,0,100,100);
txt1:TextSprite = new TextSprite;
txt1.text = "hello";
spr1.addChild(txt1);
//this is what isn't working: the sprite is hidden but not the text
spr1.alpha = 0.0;
По какой-то причине я не могу заставить TextSprite правильно рисовать ... Все, что это спрайт с добавленным к нему TextField. Я думаю, что там все работает, но у меня может быть что-то не так с тем, чтобы убедиться, что все дочерние элементы TextSprites сгруппированы правильно.
Я должен отметить, что он позиционируется правильно; но свойство alpha не будет реагировать так, как я ожидал. Т.е. спрайт, к которому прикреплен TextField, позволяет установить альфа-канал, но текст остается видимым.
Любые мысли?
2 ответа
Вам нужно встроить шрифт, используя textfield.embedFonts = true. Если ваш текст исчезает, когда вы это делаете, как вы собираетесь внедрить шрифт (с помощью метатега Flex embed или с помощью Flash IDE?), Убедитесь, что вы не меняете толщину шрифта (устанавливая полужирный текст, когда вы встроили только шрифт с нормальным весом), и если вы используете текстовый формат, обязательно примените текстовый формат ПОСЛЕ того, как вы установили свойство textfield.text. Вы можете обойти это, используя textfield.defaultTextFormat.
Скорее всего, вам просто нужно встроить шрифт в текстовое поле. Попробуйте изменить x, y spr1 и посмотрите, движется ли txt1 вместе с ним. Если это действительно ребенок, то он отреагирует на новую позицию.
Похожие вопросы
Новые вопросы
apache-flex
Apache Flex [НЕ CSS FLEXBOX] - это среда для разработки многофункциональных интернет-приложений, работающих в Flash Player или Adobe Air. Изначально разработанный компанией Adobe, Flex был подарен Apache Software Foundation в 2011 году и стал проектом Apache высшего уровня в декабре 2012 года.