Foros del Web » Creando para Internet » Flash y Actionscript »

Problema al usar fuente embebida en AS

Estas en el tema de Problema al usar fuente embebida en AS en el foro de Flash y Actionscript en Foros del Web. Hola, Estoy trabajando una marquesina en Flash, el texto es dinámico, hasta ahí funciona todo bien, el problema surge al activar el uso de fuentes ...
  #1 (permalink)  
Antiguo 23/09/2006, 12:23
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 8 meses
Puntos: 5
Problema al usar fuente embebida en AS

Hola,

Estoy trabajando una marquesina en Flash, el texto es dinámico, hasta ahí funciona todo bien, el problema surge al activar el uso de fuentes embebidas ya que no muestra el texto (como si la fuente que solicito no existiera), pero yo estoy mas que seguro que esa fuente esta en la librería del proyecto, y además las opciones de Linkage: “Export for Action Script” y “Export in first frame” están marcadas. La fuente la he llamado simplemente “mi_fuente”.


Código:
/* Fuente */
var formato:TextFormat = new TextFormat();
formato.font = "mi_fuente";
formato.color = 0xFFFFFF;

/* Creacion de la caja de texto dinamica */
this.createTextField("caja_texto", 1, 0, 0, 550, 20);
caja_texto.embedFonts= true;

/* Propiedades */
caja_texto.backgroundColor= 0xFF0000;
caja_texto.speed = 1;
caja_texto.antiAliasType = "advanced";
caja_texto.text = "Hola mundo";
caja_texto.setTextFormat(0,caja_texto.length,formato)

/* Configuracion */
caja_texto.spaceSize = caja_texto.getNewTextFormat().getTextExtent(" ").width;
caja_texto.spacesRequired = Math.ceil(caja_texto._width / caja_texto.spaceSize);
for (var i = 0; i < caja_texto.spacesRequired; i++) 
{
    caja_texto.spacebuffer += " ";
}
caja_texto.text = caja_texto.spacebuffer + caja_texto.text + caja_texto.spacebuffer;
caja_texto.hscrollInterval = function () 
{
    if (this.hscroll == this.maxhscroll) 
    {
        this.hscroll = 0;
    }
    this.hscroll += this.speed;
}

setInterval(caja_texto, "hscrollInterval", 20);
Saludos y gracias.
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #2 (permalink)  
Antiguo 23/09/2006, 19:45
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 7 meses
Puntos: 0
A mi me ha pasado que la fuente embebida desaparece cuando el interespaciado entre letras es diferente de 1
  #3 (permalink)  
Antiguo 26/09/2006, 12:29
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 8 meses
Puntos: 5
Hola de nuevo,

Pues logre que funcionara, tuve que cambiar varias cosas:

Esto:
Código:
 var formato:TextFormat = new TextFormat();
Por:
Código:
 var formato = new TextFormat();
Con eso logre que el texto se viera con la fuente embebida, pero surgio un nuevo problema ya que al aplicar el movimiento de nuevo el texto desaparecia, de modo que tuve que improvisar el modo de hacer el movimiento, al final me quedo asi ya funcionando con todo y efecto marquesina.

Código:
/* Formato */
var formato = new TextFormat();
formato.font = "led";
formato.size = 12;
formato.color = 0xFFFFFF;

/* Caja fondo */
this.createTextField("caja_fondo", 1, 0, 0, 550, 20);
caja_fondo.background= true;
caja_fondo.backgroundColor= 0x000000;

/* Caja para el texto */
this.createTextField("caja_texto", 2, 550, 0, 0, 20);
caja_texto.embedFonts= true;
caja_texto.autoSize= true;
caja_texto.text = "Marquesina con fuente embebida";
caja_texto.setTextFormat(formato);

ancho_texto=Math.ceil(caja_texto._width);
ancho_texto=0 - ancho_texto;

function mover()
{
    caja_texto._x-=1;
    if(caja_texto._x == ancho_texto)
    {
        caja_texto._x = 550;
    }
}

setInterval(mover,20);
Y pues ya con eso quedo bien la marquesina con fuente embebida
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:52.