« SonarFiles | Inicio | SindicaciÛn en ATOM »

Seguimos con los botones

Hace un par de semanasposteÈ sobre los problemas que est·bamos teniendo con unos botones.

Aunque hubo comentarios con soluciones bastante interesantes, nos vimos obligados a seguir adelante con nuestra "soluciÛn" por falta de tiempo para hacer otra cosa.

Pero, finalmente, nos hemos visto obligados a cambiar algunos de los botones, para poderlos "calzar" en unos di·logos modales que estamos construyendo.

AsÌ que ahora tenemos un movieclip con tres frames, con etiquetas "normal", "over", y "click", y un textfield con nombre de instancia "literal". Queremos asignar el contenido del literal del botÛn, su formato, y el handler para el onRelease, pero tenemos que poder hacerlo en momentos distintos de la ejecuciÛn del programa. Cuando la aplicaciÛn se inicializa, asignamos texto y formato, y el handler depender· del flujo de ejecuciÛn del programa

Este es el resultado:

class net.designnation.UI.buttonHandler { public static function setBTHandlers( buttonInstance: MovieClip, texto: String ) { buttonInstance[ "textoParam" ] = texto; buttonInstance[ "literal" ].text = texto; buttonInstance.onRollOver = function( ) { this.gotoAndStop( "over" ); var theInstance: String = ""; this[ "literal" ].text = this[ "textoParam" ]; }; buttonInstance.onRollOut = function( texto ) { this.gotoAndStop( "normal" ); this[ "literal" ].text = this[ "textoParam" ]; }; buttonInstance.onPress = function( texto ) { this.gotoAndStop( "click" ); this[ "literal" ].text = this[ "textoParam" ]; }; } public static function setNewTextFormat( buttonInstance: MovieClip, format: TextFormat ) { buttonInstance.literal.setNewTextFormat( format ); } public static function setTextFormat( buttonInstance: MovieClip, format: TextFormat ) { buttonInstance.literal.setTextFormat( format ); } public static function setOnRelease( buttonInstance: MovieClip, value: Function ) { buttonInstance._onRelease = value; buttonInstance.onRelease = function () { this._onRelease( ); this.gotoAndStop( "normal" ); } } }

°Buen fin de semana!

TrackBack

URL del Trackback para esta entrada:
http://ctarda.dreamhosters.com/cgi-bin/mt-tb.cgi/635