看看效果先~
这个例子主要解析一下 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 }