쇼핑몰에서 많이 쓰는 자동 슬라이드

쇼핑몰 같은데서 많이 볼 수 있는 슬라이드
 Tween클래스가 있으니...enterFrame을 쓸 필요가 없어지네요.
 
import mx.transitions.Tween;
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 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 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");
  }
 }
 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");
 }
}
/* 처음 시작할 때의 설정----------------------------*/
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 에서만 가능합니다 -ㅅ-);
----------------------------------------------------------------------
 
 
 
 
[이 게시물은 관리자님에 의해 2011-10-31 16:50:06 Flash에서 이동 됨]

첨부파일

slidePhoto-etwas0227.zip (1.4 MB) 373회 2008-02-11 15:30
|

댓글 12개

좋은 자료군요.. 감사감사
좋은 자료 감사하구요
잘 퍼감니다~
꾸벅~
좋은자료 감사합니다.
감사합니다..그런데 어떻게 적용하는지..
감사합니다.
세로 돼잇는데요 가로 만들려면 어덯게 해야되나요
감사합니다.
호~ 오늘 아침에 이거 하나 만들일 있었는데 딱~있네요 감사합니다 ^^
수월한 아침 작업이 되겠네요 ^^
쇼핑몰에 꼭 적용해보구싶은데요... 어떻게 적용해야할지를 모르겟네요...
head.php부분에 슬라이드를 올린다면 어떻게 적어줘야 하나요.???
누가좀 부탁드립니다...
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
17년 전 조회 1,747
17년 전 조회 2,087
17년 전 조회 2,488
17년 전 조회 1,442
17년 전 조회 1,788
17년 전 조회 2,356
17년 전 조회 1,827
17년 전 조회 1,769
17년 전 조회 1,558
17년 전 조회 1,406
17년 전 조회 1,356
17년 전 조회 1,169
17년 전 조회 1,162
17년 전 조회 1,191
17년 전 조회 1,195
17년 전 조회 1,613
17년 전 조회 1,692
17년 전 조회 1,832
17년 전 조회 2,966
17년 전 조회 2,110
17년 전 조회 1,779
17년 전 조회 2,114
17년 전 조회 1,830
17년 전 조회 3,363
17년 전 조회 1,546
17년 전 조회 1,673
17년 전 조회 1,385
17년 전 조회 2,198
17년 전 조회 3,144
17년 전 조회 2,282
17년 전 조회 1,742
17년 전 조회 2,995
17년 전 조회 4,445
17년 전 조회 1,756
17년 전 조회 3,251
17년 전 조회 1,579
17년 전 조회 3,496
17년 전 조회 5,851
17년 전 조회 1,432
17년 전 조회 2,170
17년 전 조회 1,800
17년 전 조회 1,543
17년 전 조회 2,429
17년 전 조회 2,639
17년 전 조회 1,604
17년 전 조회 2,694
17년 전 조회 3,186
17년 전 조회 1,537
18년 전 조회 1,952
18년 전 조회 3,857
18년 전 조회 4,493
18년 전 조회 1,880
18년 전 조회 1,742
18년 전 조회 2,682
18년 전 조회 1,865
18년 전 조회 3,946
18년 전 조회 1,656
16년 전 조회 1,941
18년 전 조회 2,274
18년 전 조회 2,124
18년 전 조회 3,581
18년 전 조회 1,595
18년 전 조회 2,666
18년 전 조회 1,652
18년 전 조회 1,920
18년 전 조회 7,435
18년 전 조회 2,007
18년 전 조회 4,102
18년 전 조회 2,432
18년 전 조회 2,442
18년 전 조회 2,165
18년 전 조회 2,208
18년 전 조회 2,630
18년 전 조회 3,226
18년 전 조회 5,336
18년 전 조회 2,794
18년 전 조회 2,709
18년 전 조회 2,563
18년 전 조회 1,809
18년 전 조회 2,214
18년 전 조회 5,324
18년 전 조회 3,036
18년 전 조회 2,598
18년 전 조회 3,272
18년 전 조회 2,491
18년 전 조회 2,845
18년 전 조회 5,880
18년 전 조회 2,625
18년 전 조회 2,022
18년 전 조회 2,658
18년 전 조회 1,486
18년 전 조회 9,809
18년 전 조회 4,467
18년 전 조회 3,295
18년 전 조회 1,821
18년 전 조회 3,612
18년 전 조회 2,294
18년 전 조회 3,737
18년 전 조회 5,187
18년 전 조회 3,844