Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16

Размещение текста в ограниченной области.

15.10.2016, 01:38. Показов 966. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята, ситуация такая: создаю TextField, в него пихаю некоторый текст. Далее TextField добавляется в некий FullClip (при помощи addChild естественно)))). И теперь самое страшное: Если текст не помещается в заранее нарисованный прямоугольник - заказчик желает, чтобы текст сжимался по горизонтали так, чтобы вписывался в прямоугольник. ДА, с нарушением пропорций, к сожалению. Но так надо. Прямо в лоб FullClip.width = 300; (ну или число, которое я там высчитываю по формуле) - не работает. Размер чего нужно менять, чтобы так получилось? Когда я комбинировал создание элементов (мышкой создаешь текстовый слой) а потом программно начинаешь смотреть его ширину, вычислять насколько его надо сжимать и вот тогда .width работает! Сейчас текстовое поле создаётся программнно и .width не пашет. Как быть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2016, 01:38
Ответы с готовыми решениями:

закраска области, ограниченной элипсом
Привет всем! С прошедшими и наступающими! Есть код построения элипса, помогите закрасить его, заранее благодарю! Если можно прям в...

Заливка ограниченной области с затравкой
Здравствуйте, с у меня замечательно работает программа с одним цветом, все прекрасно. Заливает фигуры так, как надо. Но как только я меняю...

Построение области, ограниченной графиками
Не могу построить в маткаде 2 графика в одном, параметрическую я построила. Когда через запятую после у(t) пишу просто 4, графика выдается...

17
16 / 16 / 6
Регистрация: 04.03.2014
Сообщений: 160
15.10.2016, 18:08
http://help.adobe.com/ru_RU/Fl... l#autoSize
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 18:50  [ТС]
Уважаемый, спасибо за ответ! Только вы неправильно меня поняли. Как пользоваться autoSize я знаю давно. Но это ни при чём. autoSize позволяет не заботиться тем, сколько требуется места для того, чтобы текст поместился в ограничиващий его прямоугольник. То, что вы видите на картинке - с autoSize. Далее, я смотрю фактическую ширину текста .width и если она превышает определённое значение (а именно ширину плашки, см. фото) - надо сжимать текст по горизонтали. Как это сделать?
P.S. для примера на картинках я сжимал текст в Photoshop)))))))
Миниатюры
Размещение текста в ограниченной области.   Размещение текста в ограниченной области.  
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 19:03  [ТС]
Складывается ощущение, что после применения FullClip.width = 400; не ширина MovieClip (вместе с его содержимым) становится меньше, а лишь область обзора. Другими словами, мне нужно регулировать так размер общего MovieClip, чтобы его содержимое так же менялось в размерах!!!
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 19:42

Не по теме:

Во-первых, зачем понадобилось писать в абсолютно левой теме 3-летней давности? Это я как модератор спрашиваю.


Во-вторых, если есть проблемы с текстовым полем, то что мешает работать с контейнером? С ним точно проблем не будет.
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 19:44  [ТС]
Что вы имеете в виду?
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 19:49
Цитата Сообщение от Ultravibe Посмотреть сообщение
Что вы имеете в виду?
Во-первых, для того, что бы что-то спросить, необходимо следовать правилам, ознакомьтесь, а во-вторых, создавайте спрайт, помещайте в него текстовое поле, и масштабируйте уже сам спрайт.
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 19:55  [ТС]
Вот! Спрайт поддерживает такую тему? Это и есть ответ на мой вопрос! Спасибо!

Добавлено через 4 минуты
Только что сделал именно так. Создал текстовое поле. Помесьтил его в Sprite. Но ни mySprite.width = 300; ни mySprite.scaleX = 0.6; не оказывают никакого действия. Как же так?
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 20:02
Код в студию.
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 21:12  [ТС]
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
var mySprite:Sprite = new Sprite;
    var TF:TextField = new TextField;
    var tFor:TextFormat = new TextFormat;
    tFor.font = "EHF"; tFor.bold = true; tFor.size = 40;
    TF.autoSize = TextFieldAutoSize.LEFT;
    TF.text = "Proverka Proverka Proverka Proverka Proverka Proverka";
    TF.setTextFormat(tFor);
    mySprite.addChild(TF);
    mySprite.x = 300; mySprite.y = 500;
    mySprite.width = 300;
    addChild(mySprite);
Добавлено через 15 минут
ActionScript 3
1
2
mySprite.width = 300;
trace(mySprite.width); // Выдаёт 1124.2 - реальные размеры спрайта
Добавлено через 49 минут
После добавления в mySprite других объектов типа graphics масштабирование успешно! scaleX оказывает нужное воздействие на всё кроме текстового поля...
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 21:26
Ultravibe, вот пример
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var format:TextFormat = new TextFormat("Arial",30);
    var cont:Sprite = new Sprite();
    addChild(cont);
 
    var txt:TextField = new TextField();
    txt.border = true;
    txt.embedFonts = true;//тут особое внимание
    txt.autoSize = TextFieldAutoSize.LEFT;
    txt.text = "Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum";
    txt.setTextFormat(format);
 
    cont.addChild(txt);
    cont.width = 300;
    cont.height = 90;
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 21:44  [ТС]
взял ваш текст и просто скопировал. Запустил. Вообще ничего не появляется. Если я правильно понял - embedFonts - свойство, указывающее использовать ли встроенные шрифты. А при чем здесь размер?
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 22:03
Ultravibe, flash иногда бывает загадочным
Не появилось потому что, не смотря на объявление, фактически он (шрифт) не внедрен. Самый простой пример (для обычной ИДЕ) - создать на сцене текстовое поле с нужным шрифтом.
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 22:21  [ТС]
Видите ли, у меня текстовые поля не создаются на сцене - это основополагающий принципе. Текстовые поля и вообще все элементы создаются только програмно, в зависимости от поступающих извне данных. То есть вы говорите, что embedFonts решит проблему? Не думаю...
Расскажу как у меня эта тема раньше работала (сейчас снова попробовал - всё на месте).
Создаю текстовое поле на сцене (мышкой обозначаю прямоугольник и пишу в него текст) Выбираю вариант "Динамический текст". Затем превращаю его в символ, нажав F8 (по сути - создаю MovieClip и запихиваю в него это текстовое поле). После этого присваиваю этому символу (который на самом деле MovieClip) какое-нибудь имя - например a123 И после этого манипуляции со свойством width дают результат a123.width = 400; и текст "сжимается" горизонтально. Вопрос - как повторить всё это програмно????? - ведь всё, что можно реализовать в интерфейсе мышкой имеет програмное представление...
Кстати, а нет такого окна, где можно посмотреть код всего того, что в файле будет происходить? То есть програмное представление созданных объектов?
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 22:43
Цитата Сообщение от Ultravibe Посмотреть сообщение
это основополагающий принцип
Это правильно. Следующий уровень - использовать более "правильную" IDE, я обычно для проектов использую(овал) FlashDevelop. Я не призываю рисовать на сцене, просто я так обычно простые вещи проверяю; в данной ситуации мне проще было создать на сцене текстовое поле, чем вспоминать особенности программного интегрирования шрифтов в проект для ИДЕ.
Цитата Сообщение от Ultravibe Посмотреть сообщение
Кстати, а нет такого окна, где можно посмотреть код всего того, что в файле будет происходить? То есть програмное представление созданных объектов?
Есть такая штука, как jsfl (работает только для Flash CSx, про всякие CC не знаю, наверное тоже). В основе синтаксиса JavaScript. Есть API, практически все на английском. Достаточно интересная, но не доработанная штука. Тем не менее я с ее помощью когда-то интересные вещи для художников делал.
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
15.10.2016, 23:31  [ТС]
Опять не поняли меня. JSFL - это своего рода среда для управления самой прогораммой Flash CSxx. А меня интересует другое: я создал все, что описал выше. Эти объекты (текстовое поле и MovieClip) 100% прописались где-то в виде кода AS3. Где же?)))))
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
15.10.2016, 23:45
Цитата Сообщение от Ultravibe Посмотреть сообщение
100% прописались где-то в виде кода AS3. Где же?
В этом случае разве только декомпиляция поможет. А с помощью JSFL можно было бы "считать" какие-то свойства объектов.
0
0 / 0 / 0
Регистрация: 27.09.2016
Сообщений: 16
16.10.2016, 15:31  [ТС]
Может TLF попробовать?

Добавлено через 34 минуты
TLF работает как раз как мне было нужно!!! УРААААА товарищи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2016, 15:31
Помогаю со студенческими работами здесь

Площадь области, ограниченной кривыми
y=x^2 y=4-x y=0 Какую область рассматривать? + или (0;\frac{-1+\sqrt{17}}{2}]+

Значение функции в ограниченной области
Здравствуйте нужна помщь с заданием. Само задание: Найти найменьшее и найбольшее значение функции Z в замкнутой области D ,...

Заливка области, ограниченной линиями
Создаю редактор-блок схем. В нем учел возможность создания пользовательского блока: вылетает диалог с таблицей из 4 столбцов(1 и 2 столбы -...

Вычислить площадь области, ограниченной линиями
Y=cosx Y<=x+1 Y>=0

Вычислить площадь области, ограниченной линиями
y=4x-x2, y=x Буду благодарен в помощи.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru