티스토리 뷰

Language/Flash

Image Slider

MiniNeko 2015. 11. 29. 04:20

import caurina.transitions.Tweener;
import flash.display.Loader;
import flash.display.Sprite;
import flash.events.Event;

// 이미지를 목록 배열에 저장
var imgArr:Array = new Array();
imgArr.push("대보사.jpg");
imgArr.push("폭포.jpg");
imgArr.push("섬.jpg");
imgArr.push("강.jpg");
imgArr.push("집.jpg");
var sp:Sprite = new Sprite();
addChild(sp);
// 버튼 이벤트 등록
next_btn.addEventListener(MouseEvent.CLICK, nextImg);
prev_btn.addEventListener(MouseEvent.CLICK, prevImg);
//auto_btn.addEventListener(MouseEvent.CLICK, autoSlider);
var timer:Timer = new Timer(3000);
timer.addEventListener(TimerEvent.TIMER, auto);
//function autoSlider(e:MouseEvent):void {
 timer.start();
//}
var n:uint = imgArr.length-1;
function auto(e:TimerEvent):void {
 n++;
 if(n >= imgArr.length) {
  n = 0;
 }
 index = n;
 imgLoad(imgArr[index]);
}
// 이미지 경로
var path:String = "img/";
function imgLoad(url:String) {
 var req:URLRequest = new URLRequest(path + url);
 var ldr:Loader = new Loader();
 ldr.load(req);
 ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
}
// 이미지 로드 후 처리 리스너(함수)
function completeHandler(evt:Event):void {
// trace(evt.target);
// trace(evt.target.content);
// trace(evt.target.loader);
 var temp:Loader = Loader(evt.target.loader);
 sp.addChild(temp);
 temp.width = 170;
 temp.height = 120;
 temp.x = 30;
 temp.y = 50;
// temp.x = (stage.stageWidth = temp.width) / 2;
// temp.y = (stage.stageHeight = temp.height) / 2;
 temp.alpha = 0;
 Tweener.addTween(temp, {alpha:1, time:2, onComplete:end});
}
// 밑에가려져 있는 Loader 지우기
function end() {
 if(sp.numChildren > 1) {
  sp.removeChildAt(0);
 }
// trace(sp.numChildren);
}
var index:int = 0;
// 이전 버튼/ 다음 버튼
function nextImg(evt:MouseEvent) {
 timer.stop();
 index++;
 if(index > imgArr.length - 1) {
  index = 0;
  imgLoad(imgArr[index]);
 }
 else {
  imgLoad(imgArr[index]);
 }
 timer.start();
}
function prevImg(evt:MouseEvent) {
 timer.stop();
 index--;
 if(index < 0) {
  index = imgArr.length - 1;
  imgLoad(imgArr[index]);
 }
 else {
  imgLoad(imgArr[index]);
 }
 timer.start();
}
imgLoad(imgArr[index]); 

Total
Today
Yesterday
최근에 올라온 글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31