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

쇼핑몰 같은데서 많이 볼 수 있는 슬라이드
 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,745
17년 전 조회 2,082
17년 전 조회 2,483
17년 전 조회 1,440
17년 전 조회 1,783
17년 전 조회 2,347
17년 전 조회 1,819
17년 전 조회 1,766
17년 전 조회 1,553
17년 전 조회 1,401
17년 전 조회 1,354
17년 전 조회 1,163
17년 전 조회 1,159
17년 전 조회 1,185
17년 전 조회 1,192
17년 전 조회 1,613
17년 전 조회 1,689
17년 전 조회 1,829
17년 전 조회 2,963
17년 전 조회 2,105
17년 전 조회 1,777
17년 전 조회 2,113
17년 전 조회 1,826
17년 전 조회 3,362
17년 전 조회 1,540
17년 전 조회 1,669
17년 전 조회 1,382
17년 전 조회 2,197
17년 전 조회 3,142
17년 전 조회 2,281
17년 전 조회 1,740
17년 전 조회 2,995
17년 전 조회 4,441
17년 전 조회 1,754
17년 전 조회 3,250
17년 전 조회 1,577
17년 전 조회 3,492
17년 전 조회 5,847
17년 전 조회 1,428
17년 전 조회 2,166
17년 전 조회 1,798
17년 전 조회 1,540
17년 전 조회 2,424
17년 전 조회 2,636
17년 전 조회 1,602
17년 전 조회 2,692
17년 전 조회 3,181
17년 전 조회 1,534
17년 전 조회 1,952
17년 전 조회 3,853
17년 전 조회 4,485
17년 전 조회 1,880
17년 전 조회 1,742
18년 전 조회 2,679
18년 전 조회 1,860
18년 전 조회 3,943
18년 전 조회 1,654
16년 전 조회 1,937
18년 전 조회 2,267
18년 전 조회 2,119
18년 전 조회 3,576
18년 전 조회 1,591
18년 전 조회 2,664
18년 전 조회 1,648
18년 전 조회 1,917
18년 전 조회 7,435
18년 전 조회 2,005
18년 전 조회 4,098
18년 전 조회 2,430
18년 전 조회 2,438
18년 전 조회 2,162
18년 전 조회 2,204
18년 전 조회 2,628
18년 전 조회 3,221
18년 전 조회 5,332
18년 전 조회 2,790
18년 전 조회 2,708
18년 전 조회 2,560
18년 전 조회 1,806
18년 전 조회 2,213
18년 전 조회 5,321
18년 전 조회 3,032
18년 전 조회 2,595
18년 전 조회 3,267
18년 전 조회 2,488
18년 전 조회 2,842
18년 전 조회 5,878
18년 전 조회 2,623
18년 전 조회 2,021
18년 전 조회 2,655
18년 전 조회 1,482
18년 전 조회 9,806
18년 전 조회 4,463
18년 전 조회 3,294
18년 전 조회 1,818
18년 전 조회 3,610
18년 전 조회 2,293
18년 전 조회 3,735
18년 전 조회 5,185
18년 전 조회 3,843