Ich habe eine komponente zur Generierung eines horizontalen Menues erstellt. Das klappt soweit ganz gut, aber nun moechte ich, dass sich der MC skaliert, die Ausrichtung beibehaelt und die darin enthaltenen Textfelder der Groesse nach anpasst, wenn an diesen MovieClip von einem anderen movie neue Werte fuer 'width' und 'height' uebergeben werden. Das heisst ich wuerde gerne eine Art < setSize = function(nWidth, nHeight) > Funktion haben, die ich dann "callen" aber ich hab keine Ahnung, wie ich das machen soll.
Irgendwelche Ideen von den Profis?
Viele Gruesse
Klaus
ActionScript:
initclip
var nWidth = 200 ;
var nHeight;
function Menuleiste()
{
this.createNav();
this.setAlign();
}
Menuleiste.prototype = new MovieClip();
Object.registerClass ("Menuleiste_link", Menuleiste);
//----------------------------------------------------> HIER WIRD DIE MENULEISTE GENERIERT
Menuleiste.prototype.createNav = function ()
{
var xpos=0;
nArray = new Array("Eins","Zwei","Drei","Vier","Fuenf");
createArray(nArray);
this.createEmptyMovieClip("leiste",1);
for (i=0;i<bLabels.length;i++)
{
this.leiste.createEmptyMovieClip('button'+i,i);
this.leiste['button'+i].createTextField('bLabel'+i,1,0,0,0,0);
this.leiste['button'+i]['bLabel'+i].autoSize=true;
this.leiste['button'+i]['bLabel'+i].background=false;
this.leiste['button'+i]['bLabel'+i].selectable=false;
this.format=new TextFormat();
this.format.align = "center";
this.format.bold = true;
this.format.font = "tahoma";
this.leiste['button'+i]['bLabel'+i].text =bLabels[i];
this.leiste['button'+i]['bLabel'+i].setTextFormat(this.format);
this.leiste['button'+i]._x = xpos;
xpos+=(this.leiste['button'+i]._width + this.Spacing);//----->Spacing wird als Variable durch die Komponente gesetzt (default:10)
this.leiste['button'+i].id = i;
this.leiste['button'+i].onRelease = function()
{
trace(bLabels[this.id]+" pressed");
}
}
}
Menuleiste.prototype.setAlign = function(nAlign) //----->MC soll immer rechtsausgerichtet sein
{
Stage.align="LT";
Stage.scaleMode = "noScale";
this.leiste.onResize = function ()
{
this._x = Math.round(Stage.width - (this._width + 10));
this._y = 1;
trace("this._width:"+ this._width);
trace("Stage.width:"+ Stage.width);
trace("this._x:"+this._x);
}
Stage.addListener(this.leiste);
this.leiste.onResize();
}
function createArray(nArray)
{
this.bLabels = nArray;
};
Menuleiste.prototype.setSize = function(nWidth, nHeight)//----->hier weiss ich nicht weiter?????
{
this._width=nWidth;
this._height = nHeight;
trace("Sizegesetzt");
}
stop();
#endinitclip