본문 바로가기

동강의AS3.0 강좌

[Base] 9강 클래스를 이용한 이미지 슬라이드 - 1


스터디에서 같이 해보게 될 이미지 슬라이드  소스 파일 입니다.
3가지 클래스를 메인으로 사용하고 있습니다.    

1. Tween
2. Loader
3. Timer 

지금까지의 강좌에서 계속 사용해 왔고, 언급했으므로 소스를 파악하시기엔 무리가 없을듯 합니다.
중점적으로 볼 부분에는 강조를 해 놓았으니 그 부분에 대해 어떤 구조로 이미지가 돌아가고 있구나 정도 파악하시고 참여 하시면 됩니다. 소스를 미리 올리는 이유는 로직적으로 이해하기 어려운 부분이 포함되어 있기 때문에  미리 올리는 것이니 꼭 꼭 실행 시켜 보세요.   

 CustomMain.as ( Document class)

 
  1. package {
  2.        
  3.         import flash.display.MovieClip;
  4.         import flash.utils.Timer;
  5.         import fl.transitions.Tween;
  6.         import fl.transitions.easing.*;
  7.         import Circle;
  8.                
  9.         import flash.events.TimerEvent;
  10.  
  11.                
  12.         public class CustomMain extends MovieClip
  13.         {
  14.                 private var frame_arr:Array;
  15.                 private var frame_time:Timer;
  16.                 private var frame_num:int;
  17.                
  18.                 private var position_arr:Array;
  19.                
  20.                 public function CustomMain():void
  21.                 {
  22.                          frame_num = -1;
  23.                          frame_arr = new Array();
  24.                          position_arr = [-500,0,500];
  25.                          frame_arr[0] = new Circle(-500,0);
  26.                          frame_arr[1] = new Circle(-500,0);
  27.                          frame_arr[2] = new Circle(-500,0);
  28.                                                  
  29.                                                  
  30.                                                  frame_arr[0].loadimage("http://dongkang.ivyro.net/data/image.jpg");
  31.                                                  frame_arr[1].loadimage("http://dongkang.ivyro.net/data/image2.jpg");
  32.                                                  frame_arr[2].loadimage("http://dongkang.ivyro.net/data/image3.jpg");
  33.                                                  
  34.                          addChild(frame_arr[0]);
  35.                          addChild(frame_arr[1]);
  36.                          addChild(frame_arr[2]);
  37.                          
  38.                          frame_time = new Timer(3000);
  39.                          frame_time.start();
  40.                          frame_time.addEventListener("timer",frametimehandler);
  41.              
  42.                 }
  43.                 private function frametimehandler(e:TimerEvent):void
  44.                 {              
  45.                                
  46.                                                
  47.                         if(frame_num == -1)
  48.                         {
  49.                             new Tween(frame_arr[0],"x",Strong.easeInOut,frame_arr[0].x,position_arr[1],20,false);  
  50.                                                        
  51.                         }
  52.                         else
  53.                         {       
  54.                                                        
  55.                                                         var targetF:int = frame_num%3;
  56.                                                         var targetB:int = (frame_num+1)%3;
  57.                                                         trace(targetB);
  58.                                                        
  59.                       new Tween(frame_arr[targetF],"x",Strong.easeInOut,position_arr[1],position_arr[2],20,false);      
  60.                       new Tween(frame_arr[targetB],"x",Strong.easeInOut,position_arr[0],position_arr[1],20,false);
  61.                                                        
  62.                            
  63.                                
  64.                         }
  65.                                                 frame_num++;
  66.                                                
  67.                        
  68.                        
  69.                 }              
  70.                
  71.         }
  72.        
  73.        
  74. }

 

 Circle.as
 
  1. package {
  2.         import flash.display.DisplayObject;
  3.         import flash.display.Loader;
  4.         import flash.display.MovieClip;
  5.         import flash.events.Event;
  6.         import flash.net.URLRequest;   
  7.  
  8.         public class Circle extends MovieClip {
  9.  
  10.                 public function Circle(xn:int,yn:int):void {
  11.                         this.x = xn;
  12.                         this.y = yn;
  13.  
  14.  
  15.                 }
  16.                 public function loadimage(url:String):void {
  17.  
  18.                         var ld:Loader = new Loader();
  19.                         ld.load(new URLRequest(url));
  20.                         ld.contentLoaderInfo.addEventListener(Event.COMPLETE, onldComplete);
  21.                         addChild(ld);
  22.  
  23.                 }
  24.                 public function onldComplete(e:Event):void
  25.                 {
  26.                          var mObject:DisplayObject = e.target.content;
  27.              mObject.width=500;
  28.              mObject.height=450;               
  29.                 }
  30.                
  31.         }
  32. }