1. Non credo sia possibile con quello script, bisognerebbe rifare quasi tutto
2. Hai provato a rimpicciolire le immagini delle thumbs ?
3. Puoi sistemare con questa nuova Main.as:
Code:
package
{
import flash.display.MovieClip;
import flash.filters.ColorMatrixFilter;
import flash.events.Event;
import flash.events.MouseEvent;
import fl.transitions.*;
import fl.transitions.easing.Regular;
import flash.events.ContextMenuEvent;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.net.URLRequest;
import flash.net.navigateToURL;
public class Main extends MovieClip
{
private var holders_array:Array;
private var thumbs_array:Array;
private var masks_array:Array;
private var filters_array:Array;
private var pics_array:Array;
private var ColorMatrix:ColorMatrixFilter;
private var currentPic:int=0;
public function Main()
{
init();
}
private function init():void
{
stage.frameRate=31;
initMenu();
holders_array=new Array(holder_mc.holder_pic_0_mc,
holder_mc.holder_pic_1_mc,
holder_mc.holder_pic_2_mc,
holder_mc.holder_pic_3_mc,
holder_mc.holder_pic_4_mc,
holder_mc.holder_pic_5_mc,
holder_mc.holder_pic_6_mc);
thumbs_array=new Array(holder_mc.holder_pic_0_mc.thumb_0_mc,
holder_mc.holder_pic_1_mc.thumb_1_mc,
holder_mc.holder_pic_2_mc.thumb_2_mc,
holder_mc.holder_pic_3_mc.thumb_3_mc,
holder_mc.holder_pic_4_mc.thumb_4_mc,
holder_mc.holder_pic_5_mc.thumb_5_mc,
holder_mc.holder_pic_6_mc.thumb_6_mc);
pics_array=new Array(pic_0_mc,pic_1_mc,pic_2_mc,pic_3_mc,pic_4_mc,pic_5_mc,pic_6_mc);
masks_array=new Array();
filters_array=new Array(1,0,0,0,-50,0,1,0,0,-50,0,0,1,0,-50,0,0,0,1,0);
ColorMatrix=new ColorMatrixFilter(filters_array);
positionthumbs_array();
createmasks_array();
addListeners();
TransitionManager.start(pics_array[0],{type:Photo,direction:Transition.IN,
duration:.5,easing:Regular.easeOut});
}
private function positionthumbs_array():void
{
for(var i:int=0;i<holders_array.length;i++)
{
pics_array[i].visible=false;
holders_array[i].y=thumbs_array[0].height/2*i;
thumbs_array[i].filters=[ColorMatrix];
thumbs_array[i].isPressed=false;
thumbs_array[i].mouseChildren=false;
}
holder_mc.y=(stage.stageHeight-holder_mc.height)/2;
}
private function createmasks_array():void
{
for(var i:int=0;i<holders_array.length;i++)
{
var masking:MovieClip=new MovieClip();
masking.graphics.beginFill(0x66FF00,1);
masking.graphics.drawRect(-30,-15,60,30);
masking.id=i;
holders_array[i].id=i;
thumbs_array[i].id=i;
holders_array[i].buttonMode=true;
masking.x=thumbs_array[i].x+thumbs_array[i].width/2;
masking.y=thumbs_array[i].y+thumbs_array[i].height/2;
holders_array[i].addChild(masking);
thumbs_array[i].mask=masking;
masks_array.push(masking);
}
}
private function addListeners():void
{
for(var i:int=0;i<holders_array.length;i++)
{
holders_array[i].addEventListener(MouseEvent.MOUSE_OVER,mouseIsOver);
holders_array[i].addEventListener(MouseEvent.MOUSE_OUT,mouseIsOut);
holders_array[i].addEventListener(MouseEvent.MOUSE_DOWN,showPicture);
}
}
private function mouseIsOver(m:MouseEvent):void
{
m.currentTarget.isPressed=false;
m.currentTarget.removeEventListener(Event.ENTER_FRAME,scaleDown);
m.currentTarget.addEventListener(Event.ENTER_FRAME,liftUp);
}
private function mouseIsOut(m:MouseEvent):void
{
m.currentTarget.removeEventListener(Event.ENTER_FRAME,liftUp);
if(!m.currentTarget.isPressed)
m.currentTarget.addEventListener(Event.ENTER_FRAME,scaleDown);
}
private function closing(m:MovieClip):void
{
m.addEventListener(Event.ENTER_FRAME,scaleDown);
}
private function liftUp(e:Event):void
{
var n:int=50;
var newFilters:Array=new Array(1,0,0,0,n,0,1,0,0,n,0,0,1,0,n,0,0,0,1,0);
var newColorMatrix_filter:ColorMatrixFilter= new ColorMatrixFilter(newFilters);
thumbs_array[e.currentTarget.id].filters=[newColorMatrix_filter];
var dy:Number=60-masks_array[e.currentTarget.id].height;
var ay:Number=dy*.2;
masks_array[e.currentTarget.id].height+=ay;
for(var i:Number=e.currentTarget.id+1;i<thumbs_array.length;i++)
{
thumbs_array[i].y+=ay/2;
masks_array[i].y=thumbs_array[i].y+thumbs_array[i].height/2;
}
for(var j:Number=e.currentTarget.id-1;j>=0;j--)
{
thumbs_array[j].y-=ay/2;
masks_array[j].y=thumbs_array[j].y+thumbs_array[j].height/2;
}
if(ay<=.1)
{
masks_array[e.currentTarget.id].height=60;
e.currentTarget.removeEventListener(Event.ENTER_FRAME,liftUp);
}
}
private function scaleDown(e:Event):void
{
var n:int=-50;
var newFilters:Array=new Array(1,0,0,0,n,0,1,0,0,n,0,0,1,0,n,0,0,0,1,0);
var newColorMatrix_filter:ColorMatrixFilter= new ColorMatrixFilter(newFilters);
thumbs_array[e.currentTarget.id].filters=[newColorMatrix_filter];
var dy:Number=30-masks_array[e.currentTarget.id].height;
var ay:Number=dy*.2;
masks_array[e.currentTarget.id].height+=ay;
for(var i:Number=e.currentTarget.id+1;i<thumbs_array.length;i++)
{
thumbs_array[i].y+=ay/2;
masks_array[i].y=thumbs_array[i].y+thumbs_array[i].height/2;
}
for(var j:Number=e.currentTarget.id-1;j>=0;j--)
{
thumbs_array[j].y-=ay/2;
masks_array[j].y=thumbs_array[j].y+thumbs_array[j].height/2;
}
if(Math.abs(ay)<=.1)
{
masks_array[e.currentTarget.id].height=30;
e.currentTarget.removeEventListener(Event.ENTER_FRAME,scaleDown);
e.target.isPressed=false;
}
}
private function showPicture(m:MouseEvent):void
{
checkOthers(m.currentTarget.id);
m.currentTarget.isPressed=true;
for(var i:int=0;i<pics_array.length;i++)
{
if(i==m.currentTarget.id)
{
pics_array[i].visible=true;
TransitionManager.start(pics_array[i],{type:Photo,direction:Transition.IN,
duration:1,easing:Regular.easeOut});
}
else
{
TransitionManager.start(pics_array[currentPic],{type:Photo,direction:Transition.OUT,
duration:1,easing:Regular.easeOut});
}
}
currentPic=m.currentTarget.id;
}
private function checkOthers(n:int):void
{
for(var i:int=0;i<thumbs_array.length;i++)
{
if(i!=n)
{
thumbs_array[i].isPressed=false;
closing(thumbs_array[i]);
}
}
}
// NON rimuovere per favore !
public function initMenu():void
{
var etichetta:String='© FlepStudio.org';
var cm:ContextMenu=new ContextMenu();
var item:ContextMenuItem=new ContextMenuItem(etichetta);
cm.hideBuiltInItems();
cm.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1);
this.contextMenu=cm;
}
private function itemHandler1(event:ContextMenuEvent):void
{
var url:String='http://www.flepstudio.org/';
var request:URLRequest=new URLRequest(url);
navigateToURL(request,'_parent');
}
}
}