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

Quiero una funcion como los tooltips

Estas en el tema de Quiero una funcion como los tooltips en el foro de Flash y Actionscript en Foros del Web. Hola señores Estoy preparando un trabajo con unos mapas donde cuando la persona pasa el mouse sobre cualquier pais, se muestra una pequeña cajita al ...
  #1 (permalink)  
Antiguo 21/02/2005, 22:03
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 1 mes
Puntos: 7
Pregunta Quiero una funcion como los tooltips

Hola señores

Estoy preparando un trabajo con unos mapas donde cuando la persona pasa el mouse sobre cualquier pais, se muestra una pequeña cajita al lado del mouse con el nombre del pais, algo parecido a los tooltips de Flash (el label amarillo que aparece cuando se pone el mouse sobre cualquier herramienta).

La parte de hacer aparecer esa cajita me funciona bien, tambien lo tengo para que siga el mouse mientras se mueva sobre el pais en cuestion en el mapa. Ahora mi problema:

Esa cajita es un MC que contiene un campo de texto con nombre de variable y este es el scrip que lo maneja:

Código:
if (isla == "cuba") {
		isla_mc.nombreIslaCuadrito = "Cuba";
		isla_mc._width = 11*isla_mc.nombreIslaCuadrito.length-10;  // <--problema
		isla_mc._visible = true;
		isla_mc.onMouseMove = function() {
			this._x = Number(_xmouse+15);
			this._y = Number(_ymouse);
		};
	}
"nombreIslaCuadrito" es la variable que recibe el nombre aplicado como se ve e "isla_mc" es el MC. Pues necesito que el ancho de la cajita (MC) cambie dinamicamente en relacion al nombre insertado. Este es el script que estoy usando: isla_mc._width = 11*isla_mc.nombreIslaCuadrito.length-10;

El resultado no es lo que quiero. Si es un nombre corto no tiene problemas pero si cuando son nombres largos.

Me pueden corregir ese script para que calcule el length correctamente y se aplique entonces el with correctamente segun el ancho del texto insertado ???

Gracias anticipadas por su ayuda
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 22/02/2005 a las 07:47
  #2 (permalink)  
Antiguo 22/02/2005, 08:40
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 1 mes
Puntos: 1
¿No probaste utilizando autoSize?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #3 (permalink)  
Antiguo 22/02/2005, 08:45
Avatar de Abelius  
Fecha de Ingreso: mayo-2004
Ubicación: Miami, FL, USA
Mensajes: 248
Antigüedad: 19 años, 10 meses
Puntos: 0
Aqui va un ejemplo de como yo lo haria:

Creas un boton llamado "btn". Creas un textfiled dinamico llamado "isla_txt" y un textfield de input llamado "input_txt"

OK? :)

Código:
Entonces en la timeline principal pones esto:
_root.onEnterFrame = function() {
	this.isla_txt._x = _root._xmouse + 15;
	this.isla_txt._y = _root._ymouse;
};
_root.onLoad = function() {
	this.isla_txt._visible = false;
};
Y en el boton pones esto:
Código:
on (release) {
	this.isla_txt.text = " " add this.input_txt.text add " ";
	this.isla_txt.backgroundColor = 0xFFFF99;
	this.isla_txt._visible = true;
	this.isla_txt.autoSize = true;
}
__________________
Cordialmente,
Abel K
Miami, FL, USA
World Kit
  #4 (permalink)  
Antiguo 22/02/2005, 10:19
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 1 mes
Puntos: 7
autoSize no lo hizo como queria, recuerden que es un mapa y perfectamente tomaba el tamaño de la primera isla sobre el que pasaba el mouse, pero cuando lo pasaba sobre la segunda isla mantenia el mismo tamaño, no se reactualizaba.

Lo que hice fue esto "isla_mc._width = 7*isla_mc.nombreIslaCuadrito.length;" y me esta funcionando un poco mejor que antes.

Con esta condicion, pueden ver aqui como quedo. Si tienen otras sugerencias, por favor posteenlas ya que de todos modos me interesa.
__________________
JuniHH
- Mi blog
- Mi portafolio

Última edición por junihh; 22/02/2005 a las 10:29
  #5 (permalink)  
Antiguo 22/02/2005, 10:58
Avatar de Abelius  
Fecha de Ingreso: mayo-2004
Ubicación: Miami, FL, USA
Mensajes: 248
Antigüedad: 19 años, 10 meses
Puntos: 0
Quedo bien bonito... Felicitaciones! :)
__________________
Cordialmente,
Abel K
Miami, FL, USA
World Kit
  #6 (permalink)  
Antiguo 22/02/2005, 14:09
Avatar de plOtz  
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 60
Antigüedad: 20 años, 11 meses
Puntos: 0
hola =)

queria saber.... como haces para que cuando este apareciendo el texto (nombre del pais) y estas pegado a una costado de la pantalla (costado derecho).... cambie de lado el texto :S

lo que ocurre en "islas menores"

cual sera el secreto :P :D

adios!
  #7 (permalink)  
Antiguo 22/02/2005, 15:19
 
Fecha de Ingreso: julio-2004
Mensajes: 127
Antigüedad: 19 años, 8 meses
Puntos: 1
Piensa que si usas length, la letra "e", por ejemplo, no mide lo mismo que la letra "i", por lo que no te va a funcionar.

Utiliza [objeto_caja_texto].textWidth

Suerte.
__________________
ArteCastellano.com Pintura y fotografia española.
LlanosLerma.com - Galeria de pintura de Llanos Lerma. Vida y obra
Madpixel Games - A jugar un rato
  #8 (permalink)  
Antiguo 22/02/2005, 15:32
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 1 mes
Puntos: 7
Cita:
Iniciado por plOtz
hola =)

queria saber.... como haces para que cuando este apareciendo el texto (nombre del pais) y estas pegado a una costado de la pantalla (costado derecho).... cambie de lado el texto :S

lo que ocurre en "islas menores"

cual sera el secreto :P :D

adios!

Este fue el script que use:
Código:
function posicionNombreIsla() {
	if (_root._xmouse+isla_mc._width>=Stage.width) {
		isla_mc._x = _xmouse-(isla_mc._width+7);
	} else {
		isla_mc._x = _xmouse+15;
	}
	isla_mc._y = Number(_ymouse);
}
Luego le aplique a cada "isla" lo siguiente en el rollOver:
Código:
isla_mc.onMouseMove = function() {
			posicionNombreIsla();
		};
Eso es todo
__________________
JuniHH
- Mi blog
- Mi portafolio
  #9 (permalink)  
Antiguo 22/02/2005, 15:54
Avatar de plOtz  
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 60
Antigüedad: 20 años, 11 meses
Puntos: 0
gracias :D
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 09:41.