Comunidad de diseño web y desarrollo en internet online

texto en Sprite

Citar            
MensajeEscrito el 07 Abr 2010 12:45 pm
:) Hola, buenos días.

A ver si alguien me pudiera ayudar con la siguiente duda.
Como podría, desde el interior de una funcion en un archivo as, que extiende la clase sprite. Crear una etiqueta o algún componente para que al crear un circulo este me apareciera con un nombre o cualquier texto.


Un saludo y muchas gracias.

Por sintahimura

45 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Abr 2010 01:10 pm
al crear un circulo este me apareciera con un nombre o cualquier texto.


¿Te refieres a nombre de instancia?¿Te refieres a que aparezca un label debajo del círculo?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2010 01:14 pm
Me refiero a que aparezca un label centrado en el sprite (un sprite redondo amarillo y con un texto en el interior que ponga por ejemplo Sol). Algo del estilo.

Por sintahimura

45 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Abr 2010 02:15 pm
Haces algo como:

Código ActionScript :

   
         var textfield:TextField = new TextField();
            textfield.text = "This is the text";
            textfield.autoSize = TextFieldAutoSize.LEFT;
            textfield.y = 0;
            textfield.x = 0;
            textfield.border = true;
            textfield.background = true;
                        this.addChild(textfield)


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2010 02:55 pm
Muchas gracias solisarg, pero como podría hacer que esta etiqueta se moviera con el sprite¿? y darle formato (color de fondo, de la guente, redondear las esquinas, color de la fuente, ...)


Un saludo y gracias.

Por sintahimura

45 de clabLevel



 

msie8
Citar            
MensajeEscrito el 07 Abr 2010 03:25 pm
Mirate la clase TextField y TextFormat si fuera necesario en la ayuda de Flash para todo lo que se puede tunear un campo de texto. Dado que está dentro del sprite (this.addChild significa que se agrega dentro de si mismo) se moverá con el

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Abr 2010 10:21 am
Muchas gracias, pero aunque hice lo de this.addChild como me dijiste, este no se mueve con el sprite

Un saludo.

Por sintahimura

45 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Abr 2010 10:49 am
A ver si entiendo, se mueve el sprite pero el texto no ... entonces ese texto no está dentro del sprite, verifica eso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Abr 2010 07:17 am
buenod días,

así es el testo se queda fijo y el this.addChilld lo hago dentro de as que extiende la clase sprite


un saludo, gracias

Por sintahimura

45 de clabLevel



 

msie8
Citar            
MensajeEscrito el 15 Abr 2010 07:30 am
Sintahimura, cuando escribimos

Código ActionScript :

this.addChild(textfield)

estamos añadiendo el texto a "this".
Si lo estamos poniendo en el constructor de la Clase de la que deriva tu Sprite, meterá el texto en tu Sprite
Si lo estyamos poniendo en la película principal, lo estás áñadiendo al Stage.
Vale, Jorge y tú estáis hablando de dos escenarios distintos
1.-Tenemos un círculo amarillo que tiene como "nombre de instancia" "circulo"
Escribimos en la película principal

Código ActionScript :

var textfield:TextField = new TextField(); 
....
circulo.addChild(textfield) //<--se lo añado al "círculo"

2.-Tenemos un símbolo de un círculo amarillo que tiene como Clase Base "Amarillo" y tenemos un fichero "Amarillo.as" con el siguiente código

Código ActionScript :

package {
   public class Amarillo extends Sprite{
       public function Amarillo(){
          var textfield:TextField = new TextField(); 
           ....
          this.addChild(textfield)
       }
   }
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Abr 2010 01:25 pm
Gracias, lo añadí como en le primer caso con (circulo.addChild() y ya funciona) aunq a la hora de moverlo me da un error si hago clic sobre la zona donde esta el textField. Al intentar capturar el target como un sprite falla por no poder convertir el textField a sprite.


un slaudo, muchas gracias.

Por sintahimura

45 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Abr 2010 06:35 am
Normalmente, si tenemos un texto sobre un Sprite, solemos igualar la propiedad mouseEnabled del texto a false

Código ActionScript :

textfield.mouseEnabled = false;

De ese modo, al texto NO le ocurrirá ningún evento del ratón (Bueno, sí le ocurre pero no dispatcha ningún evento)

En cualquier caso, sí me gustaría puntualizar algo. Supongo que lo que tienes es algo como

Código ActionScript :

circulo.addEventListener(MouseEvent.MOUSE_DOWN, startDragMc); 
private function startDragMc(e:Event):void {
  var mc:Sprite = e.target as Sprite;
  mc.startDrag();
}

"target" es a quién le ocurre el evento
"currentTarget" es a quién le hemos añadido el evento. Así que otra solución pasaría por escribir

Código ActionScript :

private function startDragMc(e:Event):void {
  var mc:Sprite = e.currentTarget as Sprite; //<---CURRENTTARGET
  mc.startDrag();
}

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Abr 2010 12:57 pm
Muchas gracias Eliseo2, tanto por la solución como por la aclaración. Eran justo lo que búscaba.

Un saludo :)

Por sintahimura

45 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.