Revision: 16761
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 14, 2009 18:31 by alexaivars
Initial Code
package {
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.MouseEvent;
import gs.TweenLite;
import gs.plugins.SetSizePlugin;
import gs.plugins.TweenPlugin;
public class Main extends Sprite
{
private var m_body:Sprite;
public function Main()
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
TweenPlugin.activate([SetSizePlugin]);
m_body = new Sprite();
for( var i:int; i<16;i++)
{
m_body.addChild( new Item() ).x = i * Item.WIDTH;
}
stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
addChild(m_body);
}
private function set scroll(a_val:Number):void
{
var index:int = Math.round((m_body.numChildren-1)*a_val);
var item:Item;
var speed:Number = .15;
for ( var i:int; i<m_body.numChildren;i++)
{
item = m_body.getChildAt(i) as Item;
TweenLite.killTweensOf(item);
item.visible = true;
switch(i)
{
case index:
TweenLite.to(item,speed,{x:i*Item.WIDTH,setSize:{width:Item.WIDTH*.8, height:Item.HEIGHT*.8}});
break;
case index -1:
TweenLite.to(item,speed,{x:i*Item.WIDTH+Item.WIDTH*.2*.5 + Item.WIDTH*.37*.5,setSize:{width:Item.WIDTH*.63,height:Item.HEIGHT*.63}});
break;
case index -2:
TweenLite.to(item,speed,{x:i*Item.WIDTH+Item.WIDTH*.2*.5 + Item.WIDTH*.37 + Item.WIDTH*.5*.5,setSize:{width:Item.WIDTH*.5, height:Item.HEIGHT*.5}});
break;
case index -3:
TweenLite.to(item,speed,{x:i*Item.WIDTH+Item.WIDTH*.2*.5 + Item.WIDTH*.37 + Item.WIDTH*.5 + Item.WIDTH*.61*.5 ,setSize:{width:Item.WIDTH*.39, height:Item.HEIGHT*.39}});
break;
case index -4:
TweenLite.to(item,speed,{x:i*Item.WIDTH+Item.WIDTH*.2*.5 + Item.WIDTH*.37 + Item.WIDTH*.5 + Item.WIDTH*.61 + Item.WIDTH*.75*.5,setSize:{width:Item.WIDTH*.25, height:Item.HEIGHT*.25}});
break;
case index +1:
TweenLite.to(item,speed,{x:i*Item.WIDTH-Item.WIDTH*.2*.5 - Item.WIDTH*.37*.5,setSize:{width:Item.WIDTH*.63,height:Item.HEIGHT*.63}});
break;
case index +2:
TweenLite.to(item,speed,{x:i*Item.WIDTH-Item.WIDTH*.2*.5 - Item.WIDTH*.37 - Item.WIDTH*.5*.5,setSize:{width:Item.WIDTH*.5, height:Item.HEIGHT*.5}});
break;
case index +3:
TweenLite.to(item,speed,{x:i*Item.WIDTH-Item.WIDTH*.2*.5 - Item.WIDTH*.37 - Item.WIDTH*.5 - Item.WIDTH*.61*.5 ,setSize:{width:Item.WIDTH*.39, height:Item.HEIGHT*.39}});
break;
case index +4:
TweenLite.to(item,speed,{x:i*Item.WIDTH-Item.WIDTH*.2*.5 - Item.WIDTH*.37 - Item.WIDTH*.5 - Item.WIDTH*.61 - Item.WIDTH*.75*.5,setSize:{width:Item.WIDTH*.25, height:Item.HEIGHT*.25}});
break;
default:
item.visible = false;
// TweenLite.to(item,speed,{x:i*Item.WIDTH,setSize:{width:Item.WIDTH, height:Item.HEIGHT}});
//TweenLite.to(item,speed,{x:i*100,setSize:{width:50, height:50}});
break;
}
}
TweenLite.to(m_body,speed,{x:(stage.stageWidth*.5)-Item.WIDTH*index});
}
private function mouseMoveHandler(e:MouseEvent):void
{
scroll = e.stageX/stage.stageWidth;
}
}
}
import as3ui.UIObject;
import as3ui.events.UIEvent;
import flash.events.Event;
import flash.display.Sprite;
internal class Item extends Sprite
{
public static const WIDTH:Number = 140;
public static const HEIGHT:Number = 257;
private var m_color:uint;
public function Item()
{
m_color = uint( Math.random()*0x1000000);
setSize(WIDTH,HEIGHT);
}
public function setSize(a_width:Number,a_height:Number):void
{
with(graphics)
{
clear();
beginFill(0xFFF000,.1);
drawRect(-a_width*.5,0,a_width,a_height);
endFill();
beginFill(m_color,.1);
drawRect(-a_width*.5+1,1,a_width-2,a_height-2);
endFill();
}
}
}
Initial URL
Initial Description
Initial Title
Simple Cover flow effect
Initial Tags
Initial Language
ActionScript 3