Comunidad de diseño web y desarrollo en internet online

Menu horizontal resizable

Citar            
MensajeEscrito el 21 Jun 2010 07:36 pm
Hola a todos.
Soy nuevo en el foro aunque siempre lo he consultado para alguna duda o sugerencia. Hoy me trae a ustedes porque no he podido encontrar la solución a mi problema.
Necesito hacer un menú horizontal resizable dinámico en AS2, es decir que me duplique un botón, incorporando el texto de dicho botón dinámicamente (php) pero que el ancho de dicho botón sea según corresponda a la cantidad de caracteres o palabras.
Para explicarme mejor seria que si yo tengo un ítem que es "home" y otro que sea "quienes somos" necesite que al duplicar el movie me tome el ancho del ítem ( home ) para que en su correspondiente posición coloque el siguiente ítem ( quienes somos ) y así correspondiente a cada ítem. Regulando el tamaño del botón según el texto.

Gracias a todos y si no se entiende mi problema por favor díganme así lo explico de otra manera.

Por Taurus77

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jun 2010 08:55 pm
En principio se me presenta complicado, nunca lo he hecho y la verdad, interesante consulta. Te explico.

A priori, en las cajas de texto dinámicas no he trabajado nunca con una propiedad "width" (ancho) para que esta tenga un tamaño ajustado a los carácteres que contiene, pero en un vistazo a la ayuda de Flash veo que existe tal propiedad... pone esto:

Código :

textHeight (propiedad TextField.textHeight)
public textHeight : Number


Indica la altura del texto, expresada en píxeles.

Disponibilidad: ActionScript 1.0; Flash Player 6

Ejemplo
El ejemplo siguiente crea un campo de texto y le asigna una cadena de texto. Se utiliza una sentencia trace para mostrar la altura y la anchura del texto en el panel Salida. A continuación se utiliza la propiedad autoSize para redimensionar el campo de texto, y las nuevas altura y anchura también aparecerán en el panel Salida.

Código :

this.createTextField("my_txt", 99, 10, 10, 100, 300);
my_txt.text = "Sample text";
trace("textHeight: "+my_txt.textHeight+", textWidth: "+my_txt.textWidth);
trace("_height: "+my_txt._height+", _width: "+my_txt._width+"\n");
my_txt.autoSize = true;
trace("after my_txt.autoSize = true;");
trace("_height: "+my_txt._height+", _width: "+my_txt._width);



Que devuelve la siguiente información:

Código :

textHeight: 15, textWidth: 56
_height: 300, _width: 100

after my_txt.autoSize = true;
_height: 19, _width: 60


...claro, en tu caso mas que la altura es la anchura pero con esto prácticamente ya tienes la explicación de cómo hacerlo... muy importante lo del "autoSize=true". Vamos que lo tuyo sería algo así.

Código :

this.createTextField("my_txt", 99, 10, 10, 100, 300);
my_txt.text = **[color=#CC0000]INSERTAR AQUÍ LA VARIABLE QUE ASIGNA LOS DIFERENTES NOMBRES DE MENÚ[/color]**;
var ancho=my_txt.textWidth;
my_txt.autoSize = true;


Ya despues de eso supongo que sería centrar en el botón esa caja de texto (problablemente lo haga automáticamente)
y despues de eso, el área de botón sería facil:

Código :

my_btn._width=my_txt._widht; //Por decir algo


En fin, con esto ya puedes trabajar hasta que te surja una duda más concreta.... igual hasta te sale a la primera!!! ^^

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 22 Jun 2010 12:39 pm
Mil gracias, lo pruebo y cualquier cosa chiflo

Por Taurus77

1 de clabLevel



 

firefox

 

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