slt tout le monde,
y'a environ 4 jours j'ai décidé de me mettre à as2.
j'ai recodé ma classe bubblehelp. la classe fonctionne, mais et j'ai un petit pb concernant la portée des méthodes.
j'ai défini 4 methodes de classe publiques comme point d'entrée (la classe étant privée) :
BubbleHelp.loadBox()
BubbleHelp.unloadBox()
BubbleHelp.loadBubble()
BubbleHelp.unloadBubble()
comment puisje passer de ce code défini sur la time line :
_root.myBtn.onRollOver = function() {
BubbleHelp.loadBox0, 500, "Sample text");
};
à celui défini sur un bouton :
on (rollOver) {
BubbleHelp.loadBox(0, 500, "Sample text");
}
voici la classe :
class org.flashapi.swing.BubbleHelp extends MovieClip
{
/*
final var className : String = "BubbleHelp";
final var classPackage : String = "org.flashapi.swing";
final var version : String = "3.0.0";
final var update : String = "07/06/2005";
final var author : String = "Pascal ECHEMANN";
final var link : String = "
[ Lien ]";
*/
private static var _boxHelp, _bubbleHelp, _txtWidth, _delay : Number;
private static var _text : String;
private static var getActualTime : Number = getTimer ();
private function BubbleHelp ($txtWidth, $delay , $text)
{
_txtWidth = $txtWidth;
_delay = $delay;
_text = $text;
}
private static function displayBoxHelp () : Void
{
if (getTimer () > (getActualTime + _delay))
{
createBox ();
clearInterval (_boxHelp);
}
}
private static function createBox () : Void
{
_root.createTextField ("bubbleHelp_txt", 5, _root._xmouse + 20, _root._ymouse + 20, 0, 0);
_root.bubbleHelp_txt.text = _text;
var bubbleHelpText_fmt = new TextFormat ();
bubbleHelpText_fmt.font = "Arial";
bubbleHelpText_fmt.size = 10;
if (_txtWidth == 0)
{
_root.bubbleHelp_txt.autoSize = "left";
} else
{
_root.bubbleHelp_txt.autoSize = "left";
_root.bubbleHelp_txt.wordWrap = true;
_root.bubbleHelp_txt._width = _txtWidth;
bubbleHelpText_fmt.align = "left";
}
_root.bubbleHelp_txt.setTextFormat (bubbleHelpText_fmt);
_root.bubbleHelp_txt.border = true;
_root.bubbleHelp_txt.background = true;
_root.bubbleHelp_txt.backgroundColor = 0xFFFFCC;
delete bubbleHelpText_fmt;
}
// --- Public BubbleHelp methods :
public static function loadBox (txtWidth : Number, delay : Number, helpText : String) : Void
{
var newBox : BubbleHelp = new BubbleHelp (txtWidth , delay , helpText );
_boxHelp = setInterval (displayBoxHelp, _delay - 1);
delete newBox;
}
public static function unloadBox () : Void
{
clearInterval (_boxHelp);
_root.bubbleHelp_txt.removeTextField ();
}
public static function loadBubble () : Void
{
}
public static function unloadBubble () : Void
{
}
}
merci d'avance,
@+ et bon code
pascal