쇼핑몰 같은데서 많이 볼 수 있는 슬라이드
Tween클래스가 있으니...enterFrame을 쓸 필요가 없어지네요.
import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.transitions.easing.*;
Stage.scaleMode = "noScale";
var container_mc:MovieClip = this.createEmptyMovieClip("container_mc", 0);
var image_mc:MovieClip = container_mc.createEmptyMovieClip("image_mc", 0);
var photo0:MovieClip = image_mc.createEmptyMovieClip("photo0", 4);
var photo1:MovieClip = image_mc.createEmptyMovieClip("photo1", 3);
var photo2:MovieClip = image_mc.createEmptyMovieClip("photo2", 2);
var photo3:MovieClip = image_mc.createEmptyMovieClip("photo3", 1);
var photo4:MovieClip = image_mc.createEmptyMovieClip("photo4", 0);
photo0.loadMovie("./photo/1.jpg");
photo1.loadMovie("./photo/2.jpg");
photo2.loadMovie("./photo/3.jpg");
photo3.loadMovie("./photo/4.jpg");
photo4.loadMovie("./photo/5.jpg");
var photo0:MovieClip = image_mc.createEmptyMovieClip("photo0", 4);
var photo1:MovieClip = image_mc.createEmptyMovieClip("photo1", 3);
var photo2:MovieClip = image_mc.createEmptyMovieClip("photo2", 2);
var photo3:MovieClip = image_mc.createEmptyMovieClip("photo3", 1);
var photo4:MovieClip = image_mc.createEmptyMovieClip("photo4", 0);
photo0.loadMovie("./photo/1.jpg");
photo1.loadMovie("./photo/2.jpg");
photo2.loadMovie("./photo/3.jpg");
photo3.loadMovie("./photo/4.jpg");
photo4.loadMovie("./photo/5.jpg");
var url_0:String = "http://www.naver.com";
var url_1:String = "http://www.daum.net";
var url_2:String = "http://www.empas.com";
var url_3:String = "http://www.yahoo.co.kr";
var url_4:String = "http://www.msn.co.kr";
var url_1:String = "http://www.daum.net";
var url_2:String = "http://www.empas.com";
var url_3:String = "http://www.yahoo.co.kr";
var url_4:String = "http://www.msn.co.kr";
var button_mc:MovieClip = container_mc.createEmptyMovieClip("button_mc", 1);
var bt0:MovieClip = button_mc.attachMovie("bt1", "bt0", 0, {_x:0, _y:0});
var bt1:MovieClip = button_mc.attachMovie("bt2", "bt1", 1, {_x:0, _y:27});
var bt2:MovieClip = button_mc.attachMovie("bt3", "bt2", 2, {_x:0, _y:54});
var bt3:MovieClip = button_mc.attachMovie("bt4", "bt3", 3, {_x:0, _y:81});
var bt4:MovieClip = button_mc.attachMovie("bt5", "bt4", 4, {_x:0, _y:108});
button_mc._x = 382;
button_mc._y = 22;
var photo_num:Number = 5; // 사진갯수
var WhoIsOn:Number = 0; // 현재의 위치를 나타내는 값
var slideTimer:Number; // 자동슬라이드를 위한 interval값
var interval_time:Number = 3000; // 슬라이드 지연 시간, 기본 3초설정
/* 자동 슬라이드 -------------------------------------------------*/
function makeSlide(){
WhoIsOn = (WhoIsOn+1)%photo_num;
var depth_num:Number = photo_num - 1;
var target_mc:MovieClip = image_mc.getInstanceAtDepth(depth_num);
image_mc["photo" + WhoIsOn].swapDepths(target_mc);
var tw1:Tween = new Tween(image_mc["photo" + WhoIsOn], "_alpha", Strong.easeOut, 0, 100, 1, true);
var tw2:Tween = new Tween(target_mc, "_alpha", Strong.easeOut, 100, 0, 1, true);
for(var i:Number = 0; i < photo_num; i++){
button_mc["bt"+i%photo_num].gotoAndStop(1);
}
button_mc["bt"+WhoIsOn%photo_num].gotoAndStop(2);
}
/* 버튼에 마우스 오버 시-------------------------------------------*/
function showPhoto(){
clearInterval(slideTimer);
var depth_num:Number = photo_num - 1;
var target_mc:MovieClip = image_mc.getInstanceAtDepth(depth_num);
/*depth 테스트
trace("depth 0 =>" + image_mc.getInstanceAtDepth(0));
trace("depth 1 =>" + image_mc.getInstanceAtDepth(1));
trace("depth 2 =>" + image_mc.getInstanceAtDepth(2));
trace("depth 3 =>" + image_mc.getInstanceAtDepth(3));
trace("depth 4 =>" + image_mc.getInstanceAtDepth(4));
trace("-------------------------------------------");
*/
image_mc["photo" + WhoIsOn].swapDepths(target_mc);
var tw1:Tween = new Tween(image_mc["photo" + WhoIsOn], "_alpha", Strong.easeOut, 0, 100, 1, true);
var tw2:Tween = new Tween(target_mc, "_alpha", Strong.easeOut, 100, 0, 1, true);
}
/* 버튼에 마우스 오버 시 showPhoto 함수를 실행-------------*/
function buttonAction(){
for(var i:Number = 0; i < photo_num; i++){
button_mc["bt"+i].onRollOver = function(){
var my_num:Number = Number(this._name.substring(2));
for(var j:Number = 0; j < photo_num; j++){
this._parent["bt"+j].gotoAndStop(1);
}
this.gotoAndStop(2);
if(_root.WhoIsOn != my_num){
_root.WhoIsOn = Number(this._name.substring(2));
_root.showPhoto();
}
}
button_mc["bt"+i].onRelease = function(){
var num:Number = this._name.substring(2);
getURL(_root["url_" + num], "_parent");
}
}
function buttonAction(){
for(var i:Number = 0; i < photo_num; i++){
button_mc["bt"+i].onRollOver = function(){
var my_num:Number = Number(this._name.substring(2));
for(var j:Number = 0; j < photo_num; j++){
this._parent["bt"+j].gotoAndStop(1);
}
this.gotoAndStop(2);
if(_root.WhoIsOn != my_num){
_root.WhoIsOn = Number(this._name.substring(2));
_root.showPhoto();
}
}
button_mc["bt"+i].onRelease = function(){
var num:Number = this._name.substring(2);
getURL(_root["url_" + num], "_parent");
}
}
image_mc.onRollOver = function(){
clearInterval(_root.slideTimer);
}
image_mc.onRollOut = function(){
_root.slideTimer = setInterval(_root, "makeSlide", _root.interval_time);
}
image_mc.onRelease = function(){
getURL(_root["url_" + WhoIsOn], "_parent");
}
}
clearInterval(_root.slideTimer);
}
image_mc.onRollOut = function(){
_root.slideTimer = setInterval(_root, "makeSlide", _root.interval_time);
}
image_mc.onRelease = function(){
getURL(_root["url_" + WhoIsOn], "_parent");
}
}
/* 처음 시작할 때의 설정----------------------------*/
function initSlide(){
for(var i:Number = 0; i < photo_num; i++){
image_mc["photo" + i]._alpha = 0;
}
image_mc.photo0._alpha = 100;
button_mc.bt0.gotoAndStop(2);
var tw1:Tween = new Tween(image_mc, "_alpha", Strong.easeOut, 0, 100, 2, true);
tw1.onMotionFinished = function(){
_root.slideTimer = setInterval(_root, "makeSlide", _root.interval_time);
}
buttonAction();
}
initSlide();
function initSlide(){
for(var i:Number = 0; i < photo_num; i++){
image_mc["photo" + i]._alpha = 0;
}
image_mc.photo0._alpha = 100;
button_mc.bt0.gotoAndStop(2);
var tw1:Tween = new Tween(image_mc, "_alpha", Strong.easeOut, 0, 100, 2, true);
tw1.onMotionFinished = function(){
_root.slideTimer = setInterval(_root, "makeSlide", _root.interval_time);
}
buttonAction();
}
initSlide();
ver 8 에서만 가능합니다 -ㅅ-);
----------------------------------------------------------------------