seacloud 2008-7-5 16:57
苹果菜单2,我的第二个小板凳
可怜我愚笨,苹果菜单一直没学明白,但我一直在坚持,大家看看我的第二个小板凳。
//powered by alex
// 我的blog : hi.baidu.com/dabstudio
var iconSum=11;//定义图标的数量,不同的数值代表不同的图标个数,可以自行设定,灵活性好
var iconIns:Array=new Array(iconSum);//定义装载图标的数组
var span=1;//定义图标之间的间距
var scaleValue:Array=new Array(iconSum);//定义每个图标的缩放值
var totalWidth:Number;//定义所有图标宽度总和变量
var blogURLIns=new blogURL();
addChild(blogURLIns);
blogURLIns.x=617;
blogURLIns.y=317;
blogURLIns.addEventListener(MouseEvent.CLICK,gotoBlog);
function gotoBlog(e:Event)
{
var blogURL:URLRequest=new URLRequest("http://hi.baidu.com/dabstudio");
navigateToURL(blogURL);
}
loader();//执行把图标装载进场景的函数
function loader()//定义装载图标的函数
{
for(var i:Number=0;i<iconSum;i++)//通过循环指令,把和iconSum数量相等的图标装载进来
{
iconIns[i]=new icon();//创建一个icon的实例
addChild(iconIns[i]);//添加到场景
iconIns[i].nameLabel.text=i;//给每个icon实例编个号
iconIns[i].addEventListener(MouseEvent.MOUSE_MOVE, zoomInScaler);//增加缩放指令侦听器
iconIns[i].addEventListener(MouseEvent.MOUSE_OUT,resetIcon);//增加鼠标移出图标时的重置命令侦听器
iconIns[i].x=stage.stageWidth/2-iconSum*50/2-(iconSum-1)*span/2+i*50+25+span*i;//设置每个图标的x位置
iconIns[i].y=stage.stageHeight;//设置每个图标的y位置
}
}
function zoomInScaler(e:Event)//缩放函数
{
for(var i:Number=0;i<iconSum;i++)
{
scaleValue[i]=0.7+100/(Math.abs(mouseX-iconIns[i].x)+100);//计算每个图标的缩放值
iconIns[i].scaleX=iconIns[i].scaleY=scaleValue[i];//把缩放值赋给每个图标
}
totalWidth=0//初始化所有图标宽度总和;
for(var j:Number=0;j<iconSum;j++)//这个for循环用于计算所有图标宽度总和,这个值在设置每个图标的x位置时有用
{
totalWidth+=iconIns[j].width;
}
iconIns[0].x=(stage.stageWidth-totalWidth)/2+iconIns[0].width/2;//设置第一个图标的位置,其他图标以第一个图标为参照重新定位
for(var k=1;k<iconSum;k++)//这个for循环以第一个图标为参照,为剩下的图标重新定位
{
iconIns[k].x=iconIns[k-1].x+span+iconIns[k-1].width/2+iconIns[k].width/2;
}
}
function resetIcon(e:Event)//这个函数用于各个图标重新恢复原来状态
{
for(var i:Number=0;i<iconSum;i++)
{
if(mouseX>iconIns[iconSum-1].x+iconIns[iconSum-1].width/2||mouseX<iconIns[0].x-iconIns[0].width/2||mouseY>stage.stageHeight)//定义认定鼠标移出图标的条件
{
iconIns[i].scaleX=iconIns[i].scaleY=1;//各图标的缩放比例重新设置为1,也就是恢复原始大小
iconIns[i].x=stage.stageWidth/2-iconSum*50/2-(iconSum-1)*span/2+i*50+25+span*i;//个图标恢复原来的位置
}
}
}
终极讨厌 2008-7-5 17:04
[url]http://bbs.blueidea.com/thread-2869183-1-1.html[/url]
来坐第二个沙发。
kuanggong889 2008-7-7 09:38
顶