hi all
ich hab bei meinen pixelfonts das problem, dass sie
sich nur rechtsbündig erstellen lassen (align='center'
gibt einen blureffect).
Hab nun hier eine function, die die mitte eines mc's
oder buttons berechnet und die (einzeiligen) texte,
die in einem array übergeben werden einmittet.
vielleicht kann's jemand gebrauchen. vielleicht gehts
auch viel einfacher...
was ich meine ActionScript:
//function für die formatierung der textfelder
initText = function (t_txt, col) {
t_fmt = new TextFormat();
t_fmt.font = "font_id";
t_fmt.color = col;
t_fmt.size = 8;
t_txt.embedFonts = 1;
t_txt.selectable=0
t_txt.autoSize = true;
t_txt.setNewTextFormat(t_fmt);
};
// objekt in dem der Button-Text gespeichert ist
button_text = {};
button_text.menu = ['ABOUT US', 'PRODUCTS', 'CONTACT US'];
button_text.menu_1 = ['WHO ARE WE ?', 'WHERE DO WE PRODUCE ?', 'WHO DO WE SELL TO ?', 'HISTORY'];
//
// platzieren der butons auf der bühne
function setButtons(anz, btn) {
var counter = 1;
var arr = [];
while (anz--) {
var mc = _root.attachMovie(btn, btn+'_'+counter, counter, {_x:100, _y:counter*100});
arr.push(mc);
counter++;
}
return arr;
}
arr = setButtons(4, 'button');
//
// ausrichten des Textes
// arguments:
// 1. ein array, der die buttons enthält
// 2. ein array, der den entsprechenden Text enthält
function setButtonText(btn, txt) {
btn_len = btn[0]._width;
btn_hi = btn[0]._height;
for (var i in btn) {
btn[i].createTextField('txt_'+i, i, 0, 0, 0, 0);
initText(btn[i]['txt_'+i], '0x000000');
btn[i]['txt_'+i].text = txt[i];
var text_len = btn[i]['txt_'+i]._width;
var text_hi = btn[i]['txt_'+i]._height;
var x = (btn_len-text_len)/2;
var y = (btn_hi-text_hi)/2;
btn[i]['txt_'+i]._x = Math.round(x);
btn[i]['txt_'+i]._y = Math.round(y);
}
}
setButtonText(arr, button_text.menu_1);
g skyla