Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.06.2011, 00:11
XBEEN вне форума Посмотреть профиль Отправить личное сообщение для XBEEN Найти все сообщения от XBEEN
  № 11  
Ответить с цитированием
XBEEN

Регистрация: Dec 2007
Сообщений: 69
Пробывал заюзать метод getCharIndexAtPoint(x:Number, y:Number):int, но как-то не очень получается. Если б как-то вычислить реальную точку на срезе.

Старый 10.06.2011, 00:17
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 12  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Есть же getCharIndexAtPoint ()
опоздал)))

Добавлено через 5 минут
Код AS3:
function ellipsis():void
{
    _txt.text = _text;
    if (_txt.textWidth > (_txt.width - 4))
    {
        var lastVisual:int = _txt.getCharIndexAtPoint(_txt.width-4, 5);
        _txt.text = _text.substr(0, lastVisual - 3) + "...";
    }
}
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 10.06.2011 в 00:23.
Старый 10.06.2011, 00:30
XBEEN вне форума Посмотреть профиль Отправить личное сообщение для XBEEN Найти все сообщения от XBEEN
  № 13  
Ответить с цитированием
XBEEN

Регистрация: Dec 2007
Сообщений: 69
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Есть же getCharIndexAtPoint ()
опоздал)))

Добавлено через 5 минут
Код AS3:
function ellipsis():void
{
    _txt.text = _text;
    if (_txt.textWidth > (_txt.width - 4))
    {
        var lastVisual:int = _txt.getCharIndexAtPoint(_txt.width-4, 5);
        _txt.text = _text.substr(0, lastVisual - 3) + "...";
    }
}
Надо попробывать, но с первого раза не получилось getCharIndexAtPoint возвращал -1. Интересно аргументы x и y относительно родителя нужно указывать, т.е. с учетом текущих координат текстового поля?

Старый 10.06.2011, 00:33
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 14  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
var lastVisual:int = _txt.getCharIndexAtPoint(_txt.x + _txt.width-4, _txt.y + 5);
__________________
Reality.getBounds(this);

Старый 10.06.2011, 23:23
rs7 вне форума Посмотреть профиль Отправить личное сообщение для rs7 Найти все сообщения от rs7
  № 15  
Ответить с цитированием
rs7
 
Аватар для rs7

Регистрация: Jun 2009
Сообщений: 56
Цитата:
Сообщение от udaaff Посмотреть сообщение
Если логически рассудить, то длину на немоноширном шрифте никак не рассчитать. Поэтому других вариантов не вижу.
Как это не рассчитать?)

Класс TextField, метод getCharBoundaries
Код AS3:
getCharBoundaries(charIndex:int):Rectangle
//Возвращает прямоугольник, который является ограничительным блоком символа.

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.