![]() |
|
||||||||||
|
|
|
|||||
|
есть текствое поле с у него ограничение по ширене, тоесть длинные слова переносятся на седующию строчку. и задача такова что надо в конце этого текста поставить некий мувик.
пробывал TextField.length но из-за переноса слов не получается да и в шрифте буквы разного размера. у меня больше идей нет, может подскажите куда копнуть?
__________________
█████ |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Для расширения возможностей текстфилда я всегда использую клипы.
Прячь текст в пустой мувик - тогда высота и ширина мувика будет такой же как у текста... |
|
|||||
|
2 combo. И как таким спопсобом отследить конец последней строки?
|
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Ведьмак, в смысле как отследить? По логике, последняя строка - это и есть конец текста. Разве нет?
Кажется понял, что имелось ввиду. Нужно поставить мувик как-бы в самом тексте, т.е. на той же строке, что и последнее слово? Последний раз редактировалось combo; 25.04.2008 в 14:38. |
|
|||||
|
Регистрация: Nov 2006
Сообщений: 177
|
Ммм.... А html-текст во флеше вроде поддерживает картинки (<img>). Его разве нельзя юзнуть? Нужен именно муви-клип?
Последний раз редактировалось combo; 25.04.2008 в 15:34. |
|
|||||
|
DimZ, если вставка с помощью <img> не подходит и если речь только о оси Y - то складываем координаты текста с его высотой. А если нужно определить еще и по ширине, то со стандартными шрифтами это не выйдет, т.к. разные символы имеют разную ширину (возможно только высчитать из общего количества символов при моноширном шрифте и при отсутствии html-форматирования) В противном случае на сколько я помню юзается битмапДата, но я этого уже не шарю и помочь не могу. Все ИМХО.
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 207
|
Как и сказал TanaTiX, делать нужно через BitmapData. Пример:
import flash.display.BitmapData;
MC.TXT.autoSize = true;
MC.TXT.text = "Hello World Hello World Hello World Hello World Hello World";
var BD:BitmapData = new BitmapData(MC._width, MC._height, true);
MC.attachBitmap(BD, this.getNextHighestDepth());
BD.draw(MC);
for (i = 200; i > 0; i--)
{
currPixel = BD.getPixel(i, MC._height - 10)
if (currPixel != 0 && currPixel != 16777215) break; //Если цвет то прекращаем проверку
}
ENDCLIP._y = MC._height - 20;
ENDCLIP._x = i + 5;
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|