Freeji
%Europe/Berlin %962 %2010, 23:05
Hallo allemaal! Dit is mijn code.
Main.as
package src{
import flash.display.*;
import flash.events.*;
import flash.text.*;
import src.classes.NavBar;
public class Main extends MovieClip {
var _menuText:Array = new Array();
public function Main(){
init();
buildNavBar();
}
private function init():void {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;//kan ook .TOP; dan bij scalen gaat hij naar boven.
_menuText = ["Blog","About","Contact"];//Komt straks uit een XML
}
private function buildNavBar():void {
var navBar:NavBar = new NavBar(_menuText);
addChild(navBar);
navBar.x = navBar.y = 50;
}
}
}
NavBar.as
package src.classes{
import flash.events.*
import flash.display.*;
import flash.text.*;
import src.gs.plugins.*;
import src.gs.TweenLite;
public class NavBar extends MovieClip {
public function NavBar(btnNames:Array):void{
for each (var buttonName:String in btnNames){
var button:MovieClip = new MovieClip();
button.name = buttonName;
addChild(button);
for(var i:int=0;i<=1;i++){
button.addChild(createTxtFld(buttonName, i));
}
}
}//end NavBar public function
//aanmaken van de twee textfields per menuitem
private function createTxtFld (buttonName:String, i:int):TextField{
var txtFld:TextField = new TextField();
var naam:String = "txtFld"+i;
txtFld.name = naam;
txtFld.setTextFormat(setTxtFormat(i));
txtFld.autoSize = TextFieldAutoSize.LEFT;
txtFld.selectable = false;
txtFld.width = txtFld.width-5;
txtFld.height = txtFld.height-5;
txtFld.text = buttonName;
txtFld.y=-30*i;
return txtFld;
}//end createTxtFld private function
private function setTxtFormat(selectColor:int):TextFormat{
var txtFmt:TextFormat = new TextFormat();
txtFmt.font = "Cooper Std Black";
txtFmt.align = "left";
txtFmt.size = 20;
//kleur van de 2e textfield moet anders zijn
if (selectColor != 1){
txtFmt.color = 0xFF00FF;
}else{
txtFmt.color = 0x00FF00;
}
return txtFmt;
}//end createTxtFormat private function
}//end NavBar public class
}//end class
Mijn probleem is het volgende. Dit alles werkt. Alleen wordt de textFormat niet aan mijn textfield gekoppeld en krijg dus al de eigenschappen uit de function txtFormat niet te zien. Weet iemand wat ik fout doe?
Met groet
Main.as
package src{
import flash.display.*;
import flash.events.*;
import flash.text.*;
import src.classes.NavBar;
public class Main extends MovieClip {
var _menuText:Array = new Array();
public function Main(){
init();
buildNavBar();
}
private function init():void {
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;//kan ook .TOP; dan bij scalen gaat hij naar boven.
_menuText = ["Blog","About","Contact"];//Komt straks uit een XML
}
private function buildNavBar():void {
var navBar:NavBar = new NavBar(_menuText);
addChild(navBar);
navBar.x = navBar.y = 50;
}
}
}
NavBar.as
package src.classes{
import flash.events.*
import flash.display.*;
import flash.text.*;
import src.gs.plugins.*;
import src.gs.TweenLite;
public class NavBar extends MovieClip {
public function NavBar(btnNames:Array):void{
for each (var buttonName:String in btnNames){
var button:MovieClip = new MovieClip();
button.name = buttonName;
addChild(button);
for(var i:int=0;i<=1;i++){
button.addChild(createTxtFld(buttonName, i));
}
}
}//end NavBar public function
//aanmaken van de twee textfields per menuitem
private function createTxtFld (buttonName:String, i:int):TextField{
var txtFld:TextField = new TextField();
var naam:String = "txtFld"+i;
txtFld.name = naam;
txtFld.setTextFormat(setTxtFormat(i));
txtFld.autoSize = TextFieldAutoSize.LEFT;
txtFld.selectable = false;
txtFld.width = txtFld.width-5;
txtFld.height = txtFld.height-5;
txtFld.text = buttonName;
txtFld.y=-30*i;
return txtFld;
}//end createTxtFld private function
private function setTxtFormat(selectColor:int):TextFormat{
var txtFmt:TextFormat = new TextFormat();
txtFmt.font = "Cooper Std Black";
txtFmt.align = "left";
txtFmt.size = 20;
//kleur van de 2e textfield moet anders zijn
if (selectColor != 1){
txtFmt.color = 0xFF00FF;
}else{
txtFmt.color = 0x00FF00;
}
return txtFmt;
}//end createTxtFormat private function
}//end NavBar public class
}//end class
Mijn probleem is het volgende. Dit alles werkt. Alleen wordt de textFormat niet aan mijn textfield gekoppeld en krijg dus al de eigenschappen uit de function txtFormat niet te zien. Weet iemand wat ik fout doe?
Met groet