package
{
import flash.display.Sprite;
import flash.display.MovieClip;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.*;
import flash.filters.GlowFilter;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.utils.Timer;
//ステージの設定
[SWF(width=300, height=300, frameRate=24, backgroundColor=0x000000)]
//クラス
public class slideshow_rotation extends Sprite
{
var picTotal:Number = 10; //写真枚数
var sw = stage.stageWidth;
var sh = stage.stageHeight;
var glow = new GlowFilter(0x99ff99,0.8,5,5,17,15); //グローフィルターの設定
var container:MovieClip; //load_mc格納MC
var load_mc:MovieClip; //写真読み込みMC
var rotCase:Number; //変形のケース(0,1,2)
var rotXY:String; //rotationX or rotationY
var dir:Number; //1 or -1
var n:Number = 1; //写真番号
var timer:Timer;
var interval:Number = 5000; //スライド切り替え間隔(ミリ秒)
public function slideshow_rotation()
{
container = new MovieClip();
load_mc = new MovieClip();
addChild(container);
load_mc.x = load_mc.y = 0;
loadPic(1);
timer = new Timer(interval);
timer.addEventListener(TimerEvent.TIMER, setPic);
timer.start();
}
//タイマーにセットされた間隔で写真を切り替える
private function setPic(event:TimerEvent):void
{
if (n > picTotal - 1)
{
n = 1;
}
else
{
n++;
}
loadPic(n);
}
//写真(外部ファイル)を読み込み、登場表示し、一定間隔後に退場させる
private function loadPic(n):void
{
container.addChild(load_mc);
var mcLoader:Loader = new Loader ;
load_mc.addChild(mcLoader);
var url:String = "img/p" + n + ".jpg";
var urlReq:URLRequest = new URLRequest(url);
mcLoader.load(urlReq);
mcLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,rotatn);
function rotatn():void
{
container.x = 0;
container.y = 0;
load_mc.x = 0;
load_mc.y = 0;
container.rotationY = 0;
container.rotationX = 0;
load_mc.filters = [glow];
//ランダムに0,1,2の数字を発生させその数に応じてrotationの種類を変える
rotCase = Math.floor(Math.random() * 3);
if (rotCase == 0)
{
rotXY = "rotationX";
dir = -1;
}
else
{
rotXY = "rotationY";
dir = 1;
}
//変形をかけてトゥイーンで登場
var tw1 = new Tween(container,rotXY,Regular.easeOut,-90 * dir,0,1,true);
//もし発生ランダム数が2だったらrotationX変形を追加
if(rotCase == 2)
{
var twx = new Tween(container,"rotationX",Regular.easeOut,60,0,1,true);
}
tw1.addEventListener(TweenEvent.MOTION_FINISH,stayPic);
function stayPic(event:TweenEvent):void
{
//変形を加えないで2秒間待機
var tw2 = new Tween(container,rotXY,Regular.easeOut,0,0,2,true);
tw2.addEventListener(TweenEvent.MOTION_FINISH,disappearPic);
//トゥイーンで退場
function disappearPic(event:TweenEvent):void
{
container.x = sw;
load_mc.x = - sw;
container.y = sh;
load_mc.y = - sh;
var tw3 = new Tween(container,rotXY,Regular.easeOut,0,120 * dir,1,true);
if (rotCase == 2)
{
var tw4 = new Tween(container,"rotationX",Regular.easeOut,0,-60,1,true);
}
tw3.addEventListener(TweenEvent.MOTION_FINISH,removePic);
function removePic(event:TweenEvent):void
{
container.removeChild(load_mc);
mcLoader = null;
}
}
}
}
}
}
}
|
package
{
import flash.display.Sprite;
import flash.display.MovieClip;
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.*;
import flash.filters.GlowFilter;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.utils.Timer;
[SWF(width = 350,height = 350,frameRate = 24,backgroundColor = 0x000000)]
public class slideshow_rotation2 extends Sprite
{
var picTotal:Number = 10;
var sw = stage.stageWidth;
var sh = stage.stageHeight;
var w = 300;
var h = 300;
var glow = new GlowFilter(0x99ff99,0.8,5,5,17,15);
var container:MovieClip;
var load_mc:MovieClip;
var rotCase:Number;
var rotXY:String;
var dir:Number;
var n:Number = 1;
var timer:Timer;
var interval:Number = 5000;
public function slideshow_rotation2()
{
container = new MovieClip();
load_mc = new MovieClip();
addChild(container);
load_mc.x = load_mc.y = 0;
loadPic(1);
timer = new Timer(interval);
timer.addEventListener(TimerEvent.TIMER, setPic);
timer.start();
}
private function setPic(event:TimerEvent):void
{
if (n > picTotal - 1)
{
n = 1;
}
else
{
n++;
}
loadPic(n);
}
private function loadPic(n):void
{
container.addChild(load_mc);
var mcLoader:Loader = new Loader ;
load_mc.addChild(mcLoader);
var url:String = "img/p" + n + ".jpg";
var urlReq:URLRequest = new URLRequest(url);
mcLoader.load(urlReq);
mcLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,rotatn);
function rotatn():void
{
container.x = sw / 2;
container.y = sh / 2;
container.scaleX = container.scaleY = container.scaleZ = 1;
load_mc.x = - w / 2;
load_mc.y = - h / 2;
container.rotationY = 0;
container.rotationX = 0;
container.rotationZ = 0;
load_mc.filters = [glow];
var degX = 180 - 360 * Math.random();
var degY = 180 - 360 * Math.random();
var degZ = 180 - 360 * Math.random();
var tweenx1 = new Tween(container,"rotationX",Regular.easeOut,degX,0,1,true);
var tweeny1 = new Tween(container,"rotationY",Regular.easeOut,degY,0,1,true);
var tweenz1 = new Tween(container,"rotationZ",Regular.easeOut,degZ,0,1,true);
tweenx1.addEventListener(TweenEvent.MOTION_FINISH, stayPic);
function stayPic(event:TweenEvent):void
{
var tweenx = new Tween(container,"rotationX",Regular.easeOut,0,0,2,true);
tweenx.addEventListener(TweenEvent.MOTION_FINISH, disappearPic);
function disappearPic(event:TweenEvent):void
{
var deg2X = 180 - 360 * Math.random();
var deg2Y = 180 - 360 * Math.random();
var deg2Z = 180 - 360 * Math.random();
var tweenx2 = new Tween(container,"rotationX",Regular.easeOut,deg2X,0,1,true);
var tweeny2 = new Tween(container,"rotationY",Regular.easeOut,deg2Y,0,1,true);
var tweenz2 = new Tween(container,"rotationZ",Regular.easeOut,deg2Z,0,1,true);
var tweensx = new Tween(container,"scaleX",Regular.easeIn,1,0,1,true);
var tweensy = new Tween(container,"scaleY",Regular.easeIn,1,0,1,true);
var tweensz = new Tween(container,"scaleZ",Regular.easeIn,1,0,1,true);
tweenx2.addEventListener(TweenEvent.MOTION_FINISH, removePic);
function removePic(event:TweenEvent):void
{
container.removeChild(load_mc);
}
}
}
}
}
}
} |