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

Dibujar texto en un canvas

Estas en el tema de Dibujar texto en un canvas en el foro de Flash y Actionscript en Foros del Web. Hola, Estoy haciendo una aplicación en la que según pulse a unos botones tengo que poner texto en diferentes posiciones de la pantalla, para ello ...
  #1 (permalink)  
Antiguo 29/12/2010, 12:52
 
Fecha de Ingreso: agosto-2007
Mensajes: 49
Antigüedad: 17 años, 4 meses
Puntos: 1
Dibujar texto en un canvas

Hola,

Estoy haciendo una aplicación en la que según pulse a unos botones tengo que poner texto en diferentes posiciones de la pantalla, para ello he creado TextField() y les he ido dando posiciones x e y, y añadiendo a un sprite(spriteNombres) que se añade al canvas con:
Código:
canvas.rawChildren.addChild(spriteNombres);
La primera vez que se han de mostrar sale bien, pero al pulsar a los botones, se deberían borrar cada uno de los TextField y escribir en otras posiciones pero lo que realmente ocurre es que me salen los textFields anteriores mas los nuevos. No consigo eliminarlos. He probado la función removeAllChildren e incluso borrando uno a uno con removeChildrenAt. No se bien que estoy haciendo mal.

Si teneis alguna idea o consejo de como escribir texto decidme.

Código:
var channelName: TextField = new TextField();
channelName.text = channelNames[displaySequence[channel]];
if (channelName.text != null) {

	channelName.x=offsetX+channelNameXOffset;
	channelName.y=offsetY+channelNameYOffset;
	channelName.textColor=0x000000;
	channelName.antiAliasType = AntiAliasType.NORMAL;
	spriteNombres.addChild(channelName);					
}
Gracias!!
  #2 (permalink)  
Antiguo 30/12/2010, 13:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 49
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Dibujar texto en un canvas

También he probado creando un bitmap data y metiendo este al sprite, con esto consigo que se creen nuevos textfield cada vez que se pulsa a los botones(hago un sprite.graphics.clear antes) pero el texto a mostrar sale deformado y no ajustado al cuadrado.

Código:
var channelName: TextField = new TextField();
channelName.text = channelNames[displaySequence[channel]];
	if (channelName.text != null) {
	   channelName.antiAliasType = AntiAliasType.NORMAL;
	   var theWidth,theHeight:int;
	   theWidth=10;
	   theHeight=20;
	   var bitmapdata:BitmapData = new BitmapData(theWidth, theHeight, true, 0x000000);
	   bitmapdata.draw(channelName);
           spriteNombres.graphics.beginBitmapFill(bitmapdata);
	   spriteNombres.graphics.drawRect(offsetX, offsetY, theWidth, theHeight);
	   spriteNombres.graphics.endFill();
     }
Lo ideal seria conseguirlo de la otra manera, pero pudiendo eliminar los elementos que contiene el canvas de cada vez.

Etiquetas: canvas, dibujar
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 13:06.