现在的位置: 首页 > 综合 > 正文

轮换图片展示 解析

2012年08月14日 ⁄ 综合 ⁄ 共 1475字 ⁄ 字号 评论关闭

看看效果先~

这个例子主要解析一下  shift()  unshift()  pop()  push()等方法的使用 做个总结

 

push():将一个或多个元素添加到数组的结尾,并返回该数组的新长度。

pop()  :删除数组中最后一个元素,并返回该元素的值。

shift()  :删除数组中第一个元素,并返回该元素。

unshift()  :将一个或多个元素添加到数组的开头,并返回该数组的新长度。

 

先讲原理:

比如数组:array=[mc0,mc1,mc2,mc3,mc4]代表 5张图

1.把array[0]   push()  添加到最后

2.把array[0]   shift()  删除掉

3.设置深度

4.重新设置位置

同理,向左边滑动也是如下

1 var itemOfNumber:int = 5;
2 //深度排列用的阵列
3 var staitonArray:Array = new Array({x:496.0,y:256.6,scaleX:0.72,scaleY:0.72},{x:615.0,y:240.6,scaleX:0.84,scaleY:0.84},{x:767.0,y:221,scaleX:1,scaleY:1},{x:979,y:240,scaleX:0.84,scaleY:0.84},{x:1155.0,y:256.6,scaleX:0.72,scaleY:0.72});
4 //,onComplete:setChild
5 var rodArray:Array = new Array();

 

 

function timeHandle():void
{
    rodArray.push(rodArray[0]);//第一张添加到最后一张
    rodArray.shift();//原来第一张删掉
    setChild();
    setposition();
}

 

 

1 function rightHandle():void
2 {
3     rodArray.unshift(rodArray[rodArray.length-1]); //最后一张添加到开头
4     rodArray.pop();//删除最后一张
5     setChild();
6     setposition();
7 }

  

 1 function setChild():void
 2 {
 3 
 4     for (var i:int =  0; i < rodArray.length; i++)
 5     {
 6         var _child:MovieClip = rodArray[i];
 7         if (i < 2)
 8         {
 9             this.setChildIndex( _child, i);
10             TweenMax.to(_child, 1, {colorMatrixFilter:{colorize:0xffffff}});
11         }
12         else if (i > 2)
13         {
14             this.setChildIndex( _child, rodArray.length - i);
15             TweenMax.to(_child, 1, {colorMatrixFilter:{colorize:0xffffff}});
16         }
17         else if (i==2)
18         {
19             this.setChildIndex( _child, rodArray.length - 1);
20             TweenMax.to(_child, 1, {colorMatrixFilter:{}});
21         }
22         //重新指定深度。
23     }
24 }

 

1 function setposition():void
2 {
3     for (var i:int =  0; i < rodArray.length; i++)
4     {
5         TweenLite.to(rodArray[i], 0.5, staitonArray[i]);
6     }
7 }

 

抱歉!评论已关闭.