![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 4
|
Суть проблемы изложена в теме - создаю несколько мувиков, в них загружаю картинку и текст подписи к ней. При наведении мыши на ролике, добавляется фильтр. В остальное время текст подписи не виден. А когда фильтр применяется, то все ок. В чем может быть проблема?
onClipEvent(load) {
mcThis = this;
mcThis._dx = 0;
mcThis._stopOnImg = false;
mcThis._lastLeft = 0;
if(_root.propNum == null) _root.propNum = 5;
mcThis.propositions = new Array(_root.propNum);
for(i=0; i< _root.propNum; i++) {
if(_root["prop_img"+String(i)] != null and _root["prop_annot"+String(i)] != null and _root["prop_header"+String(i)] != null and _root["prop_link"+String(i)] != null and _root["prop_width"+String(i)] != null) {
mcThis.propositions[i] = new Array(i, _root["prop_img" + String(i)], _root["prop_header" + String(i)], _root["prop_annot" + String(i)], _root["prop_link" + String(i)], int(_root["prop_width" + String(i)]));
var mc_prop:MovieClip = mcThis.createEmptyMovieClip("prop" + String(i), mcThis.getNextHighestDepth());
mc_prop._x = mcThis._lastLeft;
mcThis._lastLeft += mcThis.propositions[i][5] + 10;
mc_prop._num = i;
mc_prop._link = mcThis.propositions[i][4];
mc_prop.createEmptyMovieClip("image", mc_prop.getNextHighestDepth());
mc_prop.image.loadMovie(mcThis.propositions[i][1]);
var tf1:TextField = mc_prop.createTextField("tf", mc_prop.getNextHighestDepth(), 1, 124, mcThis.propositions[i][5], 40);
tf1.text = mcThis.propositions[i][2];
tf1.multiline = false;
tf1.textColor = 0x34717E;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0x34717E;
my_fmt.align = "center";
my_fmt.font = "Myriad Pro, Arial";
my_fmt.kerning = true;
my_fmt.size = 14;
my_fmt.leading = -2;
tf1.setTextFormat(my_fmt);
var tf2:TextField = mc_prop.createTextField("tf2", mc_prop.getNextHighestDepth(), 1, 136, mcThis.propositions[i][5], 40);
tf2.multiline = true;
tf2.wordWrap = true;
tf2.html = true;
var my_fmt2:TextFormat = new TextFormat();
my_fmt2.color = 0xFFFFFF;
my_fmt2.align = "center";
my_fmt2.font = "Myriad Pro, Arial";
my_fmt2.kerning = true;
my_fmt2.size = 14;
my_fmt2.leading = -2;
tf2.htmlText = mcThis.propositions[i][3];
tf2.setTextFormat(my_fmt2);
mc_prop.onMouseUp = function() {
if(this._xmouse > 0 and this._xmouse < this._width and this._ymouse > 0 and this._ymouse < this._height) {
getURL(this._link);
}
}
mc_prop.onRollOver = function() {
_root.mc_props._dx = 0;
var myDropFilter = new flash.filters.GlowFilter(0x85BFCE, 10, 3, 3, 5, 50, false, false);
var myFilters:Array = this.filters;
myFilters[0] = myDropFilter;
this.filters = myFilters;
}
mc_prop.onRollOut = function() {
this.filters = new Array();
}
}
}
}
Последний раз редактировалось MarVal; 17.06.2008 в 16:57. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Связано это с тем, что фонт в tf1 не внедренный. А вот почему при фильтре он виден - вопрос интересный. Скорее всего потому, что фильтр тупо создает битмапу - и фонт там прорисовывается (растеризовывается) - и текст становится виден. Кстати - тот ли шрифт?
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 4
|
Шрифт Myriad Pro использую, как это в коде и написано. Я не совсем понял вопроса - что значить "тот ли"?
Попробовал внедрить шрифт, но почему-то русские символы не отображаются. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
my_fmt2.font = "Myriad Pro, Arial"; - это не внедрение шрифтов.
Внедрение шрифтов происходит в два этапа: 1) помещаем динамическое текстовое поле с включенным внедрением на таймлайн (тоже выйдет при экспорте библиотечного символа содержащего такое текстовое поле в первый фрейм) 2) В уже нужном нам динамическом текстовом поле прописываем embedFonts=true В вашем случае |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 4
|
Я понимаю, что та строка в коде - это не внедрение.
Я добавил в библиотеку ролика шрифт, и задал в linkage его идентификатор и отметил галку "Export for ActionScript". Этого недостаточно? это тоже уже написал. Собственно в результате этих действий и получилось то что я описал выше - не отображаются русские символы в текстовом поле. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Внедрение шрифта делается не так. (поищите поиском по форуму).
А если делаете как вы, то надо писать my_fmt2.font = "имя_фонта_в_библиотеке" и проверить есть ли у этого фонта русские символы вообще. Но такой вариант довольно гиблый и негибкий. Лучше научиться нормально внедрять. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 4
|
Спасибо за помощь. Проблема решена внедрением шрифта в главном ролике.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:28. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| createemptymovieclip , createtextfield , подклип |
| Опции темы | |
| Опции просмотра | |
|
|