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

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

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

Регистрация: Feb 2013
Сообщений: 9
По умолчанию встраивание шрифта в динамические элементы

есть анимация счёта, которая генерируется на лету через AS3, в ней используется нестандартный шрифт,

который подгружается в одном из первых окон
Код AS1/AS2:
<fx:Style>
  @font-face {
			src: url("C:/Windows/Fonts/CooperBlackStd.otf");
			fontFamily: "CooperBlack";
			fontWeight: "normal";
			cff: false;
  }
</fx:Style>
а далее идёт генерация текста, этот шрифт присваивается TextField'u

Код AS1/AS2:
var format:TextFormat = new TextFormat();
format.font = "CooperBlackStd";
format.color = 0xffcc00;
format.size = fontsize;
format.align = "center";
var def_text:TextField = new TextField();
def_text.selectable = false;
def_text.defaultTextFormat = format;
def_text.text = str;
В опере всё хорошо, а вот в Chrome не работает, есть подозрение что если шрифта нет в системе, то у других, тоже будет некорректно отображаться.

Подскажите как решить проблему?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код:
fontFamily: "CooperBlack";
Код:
format.font = "CooperBlackStd";
Вас эти строки не настораживают?
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 24.04.2013, 16:39
m3hc вне форума Посмотреть профиль Отправить личное сообщение для m3hc Найти все сообщения от m3hc
  № 3  
Ответить с цитированием
m3hc

Регистрация: Feb 2013
Сообщений: 9
попробовал сделать:

format.font = "CooperBlack";

всё равно не работает ...

Добавлено через 1 час 42 минуты
если писать
format.font = "CooperBlack";
тогда вообще ни в одном браузере не работает

а если оставить по старому, то хотябы в опере ...
format.font = "CooperBlackStd";

Старый 24.04.2013, 18:38
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Вы так и будете наугад тыкать?
В TextField должно быть выставлено embedFonts, почему вы шрифт встраиваете через стили, это флекс компонент? Тогда почему вы решили использовать TextField. У font-face нет стиля cff, есть embedAsCFF.
Весь код приведите.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 24.04.2013, 19:28
m3hc вне форума Посмотреть профиль Отправить личное сообщение для m3hc Найти все сообщения от m3hc
  № 5  
Ответить с цитированием
m3hc

Регистрация: Feb 2013
Сообщений: 9
Код AS3:
public function animatePoints(strikeVal:String, animationPlace:SpriteVisualElement, critical:Boolean = false, xOffset:int = -35, yOffset:int = 100, fontsize:int = 72):void{			
	var mc = makeScore(strikeVal,fontsize,critical);
	var mc_name = "Strike_anim"+strikeVal+''+ Math.random();							
	mc.name = mc_name;
	mc.x += xOffset;
	mc.y += yOffset;
	var mcY= mc.y;
	mc.alpha = 0;
	animationPlace.addChild(mc);
	var tween = new TweenMax(mc, 0.5,{alpha:1, y:mcY-40});
	//дальше removeElement по времени и mc_name
}
Код AS3:
private function makeScore(str:String,fontsize:int,critical:Boolean):MovieClip{	
	var fontActualSize:Number = fontsize*0.8;	
	var pole:MovieClip = new MovieClip();
	var def_text:TextField = new TextField();
	def_text.width=300;
	def_text.height=600;
	var format:TextFormat = new TextFormat();
	format.font = "CooperBlackStd";
	format.color = 0xffcc00;
	format.size = fontsize;
	format.align = "center";
	def_text.selectable = false;
	def_text.defaultTextFormat = format;
	def_text.text = str;
	def_text.cacheAsBitmap = true;
	var mc2:MovieClip = new MovieClip();
	mc2.addChild(def_text);
	mc2.cacheAsBitmap = true;
	pole.addChild(mc2);				
	return pole;
}
ну и где вызывается первая функция в стилях есть
Код AS3:
<fx:Style>
		@font-face {
			src: url("C:/Windows/Fonts/CooperBlackStd.otf");
			fontFamily: "CooperBlack";
			fontWeight: "normal";
			cff: false;
		}
	</fx:Style>

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Код AS3:
var def_text:TextField = new TextField();
def_text.width=300;
def_text.height=600;
def_text.embedFonts=true;
var format:TextFormat = new TextFormat();
format.font = "CooperBlack";
format.color = 0xffcc00;
format.size = fontsize;
format.align = "center";
__________________
משיח לא בא
משיח גם לא מטלפן

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

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

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


 


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


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