我根据 ActiveTuts 的教程制作了一个网站。
这是我的代码:
var navArray:Array=["HOME", "WORK", "MOVIES", "ABOUT", "CONTACT"];
for (var i:Number=0; i<4; i++) {
var navItem:NavItem=new NavItem ;
navItem.x=navItem.width*i;
navItem.nav_name.text=navArray[i];
buttonArray.push(navItem);
navItem.addListeners();
navContainer.addChild(navItem);
navItem.name=String(i);
navItem.addEventListener(MouseEvent.CLICK, onNavClick);
}
我想在每个菜单上加上一种颜色。
http://active.tutsplus.com/tutorials/web-design/create-a-full-screen-scalable-flash-website-part-1/
它在第二个视频中。
这是我的完整代码:
// INITIAL VARIABLES
var buttonArray:Array = new Array( );
var currentButton:Object=new Object ;
// ADD NAVIGATION CONTAINER
var navContainer:Sprite=new Sprite ;
addChild(navContainer);
// NAMES OF BUTTONS
var navArray:Array=["HOME", "WORK", "MOVIES", "ABOUT", "CONTACT"];
// ADD ALL THE BUTTONS WITH A FOR LOOP
for (var i:Number=0; i<5; i++) {
var navItem:NavItem=new NavItem ;
navItem.x=navItem.width*i;
navItem.nav_name.text=navArray[i];
buttonArray.push(navItem);
navItem.addListeners();
navContainer.addChild(navItem);
navItem.name=String(i);
navItem.addEventListener(MouseEvent.CLICK, onNavClick);
}
function onNavClick(evt:MouseEvent):void {
// PREVIOUS BUTTON
currentButton.y = 0;
currentButton.addListeners();
currentButton.addEventListener(MouseEvent.CLICK, onNavClick);
// NEXT BUTTON
currentButton = evt.target;
currentButton.removeListeners();
currentButton.removeEventListener(MouseEvent.CLICK, onNavClick);
}
// INITIAL STATE OF NAVIGATION
initialNavigation();
function initialNavigation():void {
buttonArray[0].y=-10;
currentButton=buttonArray[0];
currentButton.removeListeners();
currentButton.removeEventListener(MouseEvent.CLICK, onNavClick);
}
现在是 navItem 代码:
// FORMAT TEXTFIELD
nav_name.autoSize=TextFieldAutoSize.LEFT;
nav_name.selectable=false;
// POSITION TEXT ACCORDING TO IT'S WIDTH
nav_name.x=224-nav_name.width-15;
nav_name.mouseEnabled=false;
// ROLL OVER
function onOver(evt:MouseEvent):void {
TweenLite.to(this, 0.2, { y:-10});
trace("OVER");
}
function onOut(evt:MouseEvent):void {
TweenLite.to(this, 0.2, { y:0});
}
function addListeners():void {
this.addEventListener(MouseEvent.ROLL_OVER, onOver);
this.addEventListener(MouseEvent.ROLL_OUT, onOut);
}
function removeListeners():void {
this.removeEventListener(MouseEvent.ROLL_OVER, onOver);
this.removeEventListener(MouseEvent.ROLL_OUT, onOut);
}
我试着像 CGa 说的那样做,颜色没问题,但现在我的“addlisteners”不再工作了