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

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

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

Регистрация: May 2017
Сообщений: 5
По умолчанию проблемы с заменой текста

Собственно меняю текст кодом и в итоге текст меняется, но отображаются не все буквы.
Код, отвечающий за установку нового текста:
bla_bla.setHintText("какие буквы на русском языке здесь не отображаются?");
Код AS3:
public function setHintText(_text:String){
			var textPlate = this.getChildByName("textPlate");
			var hintText = textPlate.getChildAt(1);
			var format = hintText.getTextFormat(0, hintText.text.length);
			hintText.text = _text;
			hintText.setTextFormat(format);
			trace("settingHintText "+ _text);
		}
при выполнении получается: "какие к а сско зке здес е отоаатс"
как решить эту проблему? где искать?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ну, очевидно текстовое поле hintText создано в редакторе, и ему выставлены настройки шрифта, в частности — что нужно использовать внедренный шрифт (Embed Font) и, что немаловажно, в нем вбит какой-то текст уже в редакторе, то есть не программно. Соответственно, компилятор внедрил в ролик swf только те глифы (символы шрифта), которые используются в поле на момент компиляции. Остальных глифов [букв] в ролике нет, поэтому при программной замене текста в поле отображаются только те символы, которые внедрены.
Цитата:
как решить эту проблему?
Либо внедрить все необходимые символы, либо использовать не внедренный в swf-файл шрифт, а установленный в системе, на которой будет проигрываться ролик. У разных способов свои плюсы и минусы, Вам придется разобраться самому и решить.

Добавлено через 13 минут
То есть, если Вам нужно, чтобы это поле отображало текст каким-то нестандартным художественным шрифтом, которого наверняка нет на компьютерах/мобильниках у всех пользователей, то такой особенный шрифт нужно внедрять в сам swf-ролик. Тогда шрифт будет находиться прямо в swf-файле и скачиваться пользователем вместе с роликом. И у всех клиентов текст будет показываться одинаково, но при этом вес файла серьезно увеличится.
Если же какого-то особенного шрифта не требуется, то можно указать полю использовать системный шрифт. Причем, можно указать как конкретный шрифт, например Arial (но тогда возможна ситуация, что у клиента и Ариал не установлен), так и более абстрактно — только один из трех стандартных типов: с засечками, без, и моноширинный ("пишущей машинки"). Тогда система сама подставит шрифт нужного типа из установленных. Здесь подводными камнями может оказаться реальный размер шрифта, поскольку далеко не все шрифты четко соответствуют заявленной высоте, а по ширине и вовсе "дело вкуса".
__________________
Reality.getBounds(this);

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

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

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


 


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


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