I’ve got this following scripts to create button through action script. However during onrollover/onrelease, the text (button name) is dissapear. Can someone give me a workaround. Thanks.
Here’s the code:
depth = 1;
mouse_over_colour = 0xCCCCCC;
mouse_clicked_colour = 0x666666;
area_width = 200;
ButtonLabelText = new TextFormat();
ButtonLabelText.bold = false;
ButtonLabelText.color = 0x000000;
ButtonLabelText.font = "Verdana";
ButtonLabelText.size = 9;
main_menu = ['About', 'Work', 'Client', 'Contact', 'Consume'];
main_menu_action = ['work.swf', 'about.swf', 'store.swf', 'client.swf', 'contact.swf'];
for (i=0; i<main_menu.length; i++) {
main_menu_var = "main_menu_"+i;
_root.createEmptyMovieClip(main_menu_var, depth++);
_root[main_menu_var].createTextField("titleField", depth++, 0, -3, area_width, 15);
_root[main_menu_var].titleField.selectable = false;
_root[main_menu_var].titleField.setNewTextFormat(ButtonLabelText);
_root[main_menu_var].titleField.text = main_menu*;
_root[main_menu_var]._y = i*15;
_root[main_menu_var].onRelease = function() {
_root[main_menu_var]["click_effect_"+i].removeMovieClip();
this.createEmptyMovieClip("click_effect_"+i, depth++);
with (this["click_effect_"+i]) {
beginFill(mouse_clicked_colour, 100);
lineStyle(0, mouse_clicked_colour, 100);
moveTo(0, 0);
lineTo(0, 0);
lineTo(area_width, 0);
lineTo(area_width, 9);
lineTo(0, 9);
endFill();
}
trace(_root[main_menu_var]["click_effect_"+i]);
loadMovieNum(main_menu_action*, depth++);
};
_root[main_menu_var].onRollOver = function() {
this.over_effect.removeMovieClip();
this.createEmptyMovieClip("over_effect", depth++);
with (this.over_effect) {
beginFill(mouse_over_colour, 100);
lineStyle(0, mouse_over_colour, 100);
moveTo(0, 0);
lineTo(0, 0);
lineTo(area_width, 0);
lineTo(area_width, 9);
lineTo(0, 9);
endFill();
}
};
_root[main_menu_var].onRollOut = function() {
this.over_effect.removeMovieClip();
};
_root[main_menu_var].onRelease = function() {
_root[prevname]["click_effect_"+prevname].removeMovieClip();
prevname = this._name;
this.createEmptyMovieClip("click_effect_"+this._name, depth++);
with (this["click_effect_"+this._name]) {
beginFill(mouse_clicked_colour, 100);
lineStyle(0, mouse_clicked_colour, 100);
moveTo(0, 0);
lineTo(0, 0);
lineTo(area_width, 0);
lineTo(area_width, 9);
lineTo(0, 9);
endFill();
}
tval = main_menu_action[this._name.slice(this._name.length-1, this._name.length)];
trace("tval=" + tval);
loadMovieNum(tval, depth++);
};
}