|
|
|
|
|
для: elenaki
(30.01.2008 в 11:50)
| |
var format:TextFormat = new TextFormat();
format.font = "DG_RoslynGothic_bold";
header.embedFonts = true;
header.setTextFormat(format)
|
может исходник выложить? под какой флешь | |
|
|
|
|
|
|
|
для: AlexSol
(29.01.2008 в 21:23)
| | строка бегает. не добавить шрифт. добавляю два оператора - ничего не выводит, убираю -
выводит в Times New Roman.
header.embedFonts = true;
header.font = "Myriad Pro";
|
на сцене есть два поля, к которым подключены шрифты в жирном и простом начертании. именно так работает меню, которое тоже все строится динамически из XML. без шрифтов мне этот Flash не нужен. вся затея была для того, чтобы выводить новости нужным шрифтом. | |
|
|
|
|
|
|
|
для: elenaki
(29.01.2008 в 19:02)
| |
var xml:XML = new XML('<xml><news header="First header"><text>This is first text</text></news><news header="Second header"><text>This is secondt text</text></news><news header="Третий заголовок"><text>Это текст третьего заголовка</text></news></xml>');
var container:MovieClip = _root.createEmptyMovieClip("container", 10);
//маска
var msk:MovieClip = _root.createEmptyMovieClip("msk", 20);
msk.lineStyle(0);
msk.beginFill(0,100);
msk.moveTo(0,0);
msk.lineTo(200,0);
msk.lineTo(200,300);
msk.lineTo(0,300);
msk.lineTo(0,0);
msk.endFill();
container.setMask(msk);
var data_arr:Array = new Array();
//ширина одной новости
function loadResult() {
node = xml.firstChild;
for (var node = node.firstChild; node != null; node=node.nextSibling) {
data_arr.push(new Array(node.attributes.header, node.firstChild.firstChild.nodeValue));
}
makeClip(data_arr);
}
loadResult();
//создаем клипы с текстом
function makeClip(arr:Array) {
for (i=0; i<arr.length; i++) {
var mc:MovieClip = container.createEmptyMovieClip("mc"+i, i);
var header:TextField = mc.createTextField("header", 2, 0, 0, 0, 10);
header.autoSize = "Left"
header.text = arr[i][0];
header.border = true;
var news:TextField = mc.createTextField("news", 5, header._width, 0, 0, 10);
news.autoSize = "Left"
news.text = arr[i][1];
news.border = true;
if(i>0){
mc._x = container["mc"+(i-1)]._x+container["mc"+(i-1)]._width;
}
//двигаем
_root.onEnterFrame = function() {
container._x -= 1;
if(container._x<-container._width){
container._x = msk._width;
}
};
}
}
|
| |
|
|
|
|
|
|
| были у меня новости бугущей строкой на РНР. но клиенту непременно нужно свой дурацкий шрифт к ним прикрутить. прикрепить нестандартный шрифт к HTML я так и не смогла, только времени кучу потеряла. решили делать новости на Flash. тем более, что я уже умею скармливать ему текст на XML, который создает РНР. пусть админ как и раньше создает новости на РНР, они будут храниться в базе, а выводит их будет Flash, в который будет включен шрифт.
есть новости в XML:
<xml>
<news header="First header">
<text>This is first text</text>
</news>
<news header="Second header">
<text>This is secondt text</text>
</news>
<news header="Третий заголовок">
<text>Это текст третьего заголовка</text>
</news>
</xml>
|
есть скрипт:
// создаем объект xml класса XML;
var xml:XML = new XML();
// выставляем ему игнорирование пустых тегов с пробелами
xml.ignoreWhite = true;
// загружаем файл news.xml из текущей папки
xml.load("news.xml");
// в случае удачной загрузки вызываем функцию loadResult
xml.onLoad = loadResult;
function loadResult(){
for (i=0; i<xml.childNodes[0].childNodes.length; i++){
_root.attachMovie("News","news"+i,i);
eval("news"+i)._x = 10;
eval("news"+i)._y = 10 + i*(eval("news"+i)._height+5);
// получаем значение атрибута header
eval("news"+i).nHeader.text = xml.childNodes[0].childNodes[i].attributes.header;
// считываем текстовое значение из xml поля text
eval("news"+i).nText.text = xml.childNodes[0].childNodes[i].childNodes[0].childNodes[0].nodeValue;
}}
|
надо выводить новости друг за другом в одну строку и чтоб эта строка плавно двигалась справа налево. нашла несколько исходников бегущих строк, бегают они, когда в родном флашике, а как в свой вставляю - не бегает. понимаю, что сначала надо убрать прибавление пикселей по вертикали и ... добавить по горизонтали? так?
eval("news"+i)._x = 10+ i*(eval("news"+i)._width+5);
eval("news"+i)._y = 10;
или вообще не добавлять ничего, а склеить все новости в одну строку? допустим, у меня не два текстовых поля (заголовок и текст), а одно. сначала идет заголовок жирным, потом текст, потом след. заголовок, след. текст... тогда координата по х вообще не нужна? все равно не получается. завтра буду опять голову ломать. пока совсем не сломается... :(
вот тут одна из неплохих бегущих строк
http://metoart.ru/blog/2006/02/12/auto-informer_beguschaja_stroka/ | |
|
|
|
|