| //Tween、easingクラスのインポート
import mx.transitions.Tween;
import mx.transitions.easing.*;
//サムネイルの数
var num:Number = 20;
//サムネイルの高さ・幅
var bar_w:Number = 75;
var bar_h:Number = 56;
//サムネイル間マージン
var margin:Number = 5;
//移動間隔(ミリ秒)
var lag:Number = 1500;
//移動速度(秒)
var speed:Number = 1;
//テキストのフォーマット
txtFormat = new TextFormat();
txtFormat.color = 0xFFFFFF;
txtFormat.size = 13;
//サムネイル群を入れ込むムービークリップインスタンスの作成と幅、高さの定義
this.createEmptyMovieClip("thumb_mc",0);
var thumbmc_w = num*(margin+bar_w);
var thumbmc_h = bar_h+30;
//拡大写真読み込み用ムービークリップ
this.createEmptyMovieClip("load_mc",200);
//フルスクリーンボタンの設置とフルスクリーン設定
this.createEmptyMovieClip("fullscreen_btn",this.getNextHighestDepth());
fullscreen_btn.createTextField("tf",this.getNextHighestDepth(),0,0,100,30);
fullscreen_btn.tf.text = "FULLSCREEN";
fullscreen_btn.tf.setTextFormat(txtFormat);
fullscreen_btn.onRelease = function() {
Stage["displayState"] = "fullScreen";
};
//左右方向ボタンの作成とthumb_mc内の配置
fw_btn = thumb_mc.attachMovie("fw_btn", "fw_btn", 100);
bw_btn = thumb_mc.attachMovie("bw_btn", "bw_btn", 101);
fw_btn._x = thumbmc_w/2+100;
fw_btn._y = bar_h+20;
bw_btn._x = thumbmc_w/2-100;
bw_btn._y = bar_h+20;
//ステージ表示モードの設定
Stage.scaleMode = "noScale";
Stage.align = "LT";
//ウインドウリサイズのリスニングと座標補正
function fullScale() {
thumb_mc._x = (Stage.width-thumbmc_w)/2;
thumb_mc._y = (Stage.height-thumbmc_h)/2;
load_mc._x = Stage.width/2-load_mc._width/2;
load_mc._y = Stage.height/2-load_mc._height/2;
fullscreen_btn._x = Stage.width-150;
fullscreen_btn._y = 50;
}
myListener = new Object();
myListener.onResize = function() {
fullScale();
};
Stage.addListener(myListener);
//初期配置
fullScale();
//指標の初期化
var transMode1:Boolean = true;
var transMode2:Boolean = true;
var forward:Boolean = true;
//サムネイル収納用MCをthumb_mc内に作成し画像を読み込み配置
for (i=1; i<=num; i++) {
mc = thumb_mc.createEmptyMovieClip("sp"+i, i);
mc.createEmptyMovieClip("inner",i);
mc.inner.loadMovie("img/sp"+i+".jpg");
mc._x = margin+(margin+bar_w)*(i-1);
mc._y = 0;
mc._alpha = 50;
mc.n = i;
mc.onRollOver = rollover;
mc.onRollOut = rollout;
mc.onRelease = releas;
}
//サムネイルのボタン機能定義
function rollover() {
this._alpha = 100;
transMode1 = false;
}
function rollout() {
this._alpha = 50;
transMode1 = true;
}
function releas() {
transMode2 = false;
new Tween(thumb_mc, "_alpha", Regular.easeOut, 100, 0, 1, true);
loadPic(this.n);
}
//送り(右方向)、戻り(左方向)ボタンの機能定義
fw_btn.onRelease = function() {
forward = true;
};
bw_btn.onRelease = function() {
forward = false;
};
//一定間隔でサムネイル群を左右に移動させる関数
function bar_trans() {
if (transMode1 && transMode2) {
for (i=1; i<=num; i++) {
bar_mc = thumb_mc["sp"+i];
bar_mc.x0 = bar_mc._x;
if (forward) {
if (bar_mc.x0>margin+(margin+bar_w)*(num-2)) {
bar_mc._visible = false;
bar_mc.targetx = 0;//-(margin+bar_w);
} else {
bar_mc._visible = true;
bar_mc.targetx = bar_mc.x0+(margin+bar_w);
}
} else {
if (bar_mc.x0<margin+bar_w) {
bar_mc._visible = false;
bar_mc.targetx = margin+(margin+bar_w)*(num-1);
} else {
bar_mc._visible = true;
bar_mc.targetx = bar_mc.x0-(margin+bar_w);
}
}
myTween(bar_mc);
}
}
}
ID = setInterval(bar_trans, lag);
function myTween(bar_mc) {
new Tween(bar_mc, "_x", Regular.easeOut, bar_mc.x0, bar_mc.targetx, speed, true);
}
//拡大写真のロードと表示
function loadPic(picNum) {
var mcLoader:MovieClipLoader = new MovieClipLoader();
jpg = "img/Lp"+picNum+".jpg";
mcLoader.loadClip(jpg,load_mc);
var oListener:Object = new Object();
oListener.onLoadInit = function() {
load_mc._x = Stage.width/2-load_mc._width/2;
load_mc._y = Stage.height/2-load_mc._height/2;
new Tween(load_mc, "_alpha", Regular.easeOut, 0, 100, 3, true);
load_mc.onRelease = function() {
returnThumb();
};
};
mcLoader.addListener(oListener);
}
//拡大写真のリリースで表示写真を消去しサムネイル表示に戻す
function returnThumb() {
transMode2 = true;
load_mc.unloadMovie();
new Tween(thumb_mc, "_alpha", Regular.easeOut, 0, 100, 1, true);
} |
|