Denk jij nog een leuk of nuttig flash script te hebben, post het dan in de scriptbase !

vinTagesworld/flash scripts/images/simpele flash slideshow.


simpele flash slideshow.

Toegevoegd door: vinTage op 17-05-2009




Beschrijving

Een simpele slideshow in flash actionscript3.
De kader past zichzelf aan, aan de afmetingen van de in te laden afbeeldingen.

Voorbeeldje


Code

actionscript code

[SWF(width = "900",height = "650",frameRate = "30",backgroundColor = "#999999")]


var hold:Number = 5;//seconden dat een img in beeld blijft alvoor er een nieuwe image begint te laden
var kaderWidth:Number = 100;
var kaderHeight:Number = 100;
var border:Number = 10;
var kaderColor:Number = 0xFFFFFF;

//paden naar de images (gif, jpg, png, swf)
var imgArray:Array = new Array(
   "bos.jpg",
   "bos2.jpg",
   "mainpic01.jpg"
   );
//tellertje om door imgArray te loopen
var i:Number = 0;


import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

//fotokader
var kader:Shape = new Shape();
//kader.graphics.lineStyle(2, 0x000000);
kader.graphics.beginFill (kaderColor);
kader.graphics.drawRoundRect (0, 0, kaderWidth, kaderHeight, border, border);
//scale9Grid zorgt ervoor dat je ronde hoeken(etc) niet meescalen/vervormen.
var grid:Rectangle = new Rectangle(kaderWidth / 3,kaderHeight / 3,kaderWidth / 3,kaderHeight / 3);
kader.scale9Grid = grid;
addChild (kader);
kader.x = stage.stageWidth / 2 - kader.width / 2;

var lader:Loader = new Loader();
addChild (lader);

lader.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, preload);
lader.contentLoaderInfo.addEventListener (Event.COMPLETE, klaar);

function preload (event:ProgressEvent):void
{
  //show evt een preloader
}

function klaar (event:Event):void
{
  var ScaleKaderX:Tween = new Tween(kader,"width",None.easeOut,kader.width,lader.width + border, .5,true);
  var ScaleKaderY:Tween = new Tween(kader,"height",None.easeOut,kader.height,lader.height + border, .5,true);
  var CenterKader:Tween = new Tween(kader,"x",None.easeOut,kader.x,stage.stageWidth / 2 - lader.width / 2, .5,true);
  var CenterLader:Tween = new Tween(lader,"x",None.easeOut,lader.x,stage.stageWidth / 2 - lader.width / 2 + border/2, .5,true);
  ScaleKaderX.addEventListener (TweenEvent.MOTION_FINISH, fadeIn);
}

function fadeIn (event:TweenEvent)
{
  lader.x = kader.x+(border/2);
  lader.y = kader.y+(border/2);
  var fadeIn:Tween = new Tween(lader,"alpha",None.easeOut,0,1, .5,true);
}

//toon nieuwe image
var timer:Timer = new Timer(hold * 1000);
timer.addEventListener ("timer", autoImg);
timer.start ();

function autoImg (event:TimerEvent)
{
  showImg ();
}

//loop door array met imgs
function showImg ()
{
  lader.alpha = 0;
  lader.load (new URLRequest(imgArray[i]));
  if (i >= imgArray.length - 1)
  {
    i = 0;
  }
  else
  {
    i++;
  }
}

//start slideshow
showImg ();
 



Gebruik

actionscript code

Copy paste het actionscript in een keyframe.
Pas de paden naar de images aan en pas eventueel de "hold" tijd aan.

Bij de comments staan voor de ingelogde leden een uitgebreidere versie, die te grote images scaled, geladen images uitfade ipv abrupt laat verdwijnen en via php een map uitleest en de images daaruit ophaalt ;)       
 



Share |

Je moet aangemeld zijn om commentaar te kunnen lezen of geven.