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

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

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
getCharBoundaries()
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 14.09.2011, 02:15
firuz вне форума Посмотреть профиль Отправить личное сообщение для firuz Посетить домашнюю страницу firuz Найти все сообщения от firuz
  № 12  
Ответить с цитированием
firuz
 
Аватар для firuz

Регистрация: Feb 2010
Адрес: YcBvKFtbbu
Сообщений: 94
Отправить сообщение для firuz с помощью ICQ Отправить сообщение для firuz с помощью Skype™
Цитата:
Сообщение от alatar Посмотреть сообщение
да. но странные значения он выдает!

letters - это массив букв. Делаем ректангл с первой буквой. А потом пользуемся его шириной.. Если я правильно все понял.
Код AS3:
var bnds:Rectangle = letters[ind].getCharBoundaries(0);
но значения для каждой буквы слишком сильно различаются
или я глупости пишу?


Последний раз редактировалось firuz; 14.09.2011 в 03:16.
Старый 14.09.2011, 04:14
Dron1564 вне форума Посмотреть профиль Отправить личное сообщение для Dron1564 Найти все сообщения от Dron1564
  № 13  
Ответить с цитированием
Dron1564

Регистрация: Oct 2010
Сообщений: 69
Код AS3:
 private function TextToMcArray(text:String, params:Object = null ):Array {
        var lettersArray:Array = new Array();
        var mc:MovieClip;
        var textField:TextField;
        var fontInterval:Number = 2;
        var AddChildTo:*;
        var x:Number = 0;
        var y:Number = 0;
        var newFormat:TextFormat;
 
        if( params ){
            fontInterval = params.hasOwnProperty("fontInterval")?params.fontInterval:2;
            AddChildTo = params.hasOwnProperty("addChildTo")?params.addChildTo:null;
            x = params.hasOwnProperty("x")?params.x:0;
            y = params.hasOwnProperty("y")?params.y:0;
            newFormat = params.hasOwnProperty("textFormat")?params.textFormat:null;
        }
 
        for( var i:int = 0; i<text.length; i++ ){
            mc = new MovieClip();
            textField = new TextField();
            if( newFormat ){
                textField.defaultTextFormat =  newFormat ;
            }
            textField.text = text.charAt(i);
            textField.autoSize = TextFieldAutoSize.LEFT;
            textField.selectable = false;
            mc.addChild(textField);
            mc.x = x;
            mc.y = y;
            lettersArray.push(mc);
            if( AddChildTo ){
                AddChildTo.addChild( mc );
            }
            x += mc.width*0.55+fontInterval;
        }
        return lettersArray;
    }
}
Делал давно.. очень давно ))

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

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

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


 


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


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