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!