크리에이티브 커먼즈 라이선스
Creative Commons License

 

아는 분이 과제를 내주셔서 만들어 본 메뉴구조입니다.

 

attachMovie : 라이브러리의 심볼을 스테이지로 가져온다.

tween class : 클래스로 움직임을 통제한다.

setInterval : 설정시간마다 함수를 작동시킨다.

 

자세한 내용은 아래 코드를 확인하세요.

 

 

  1. //-----들여오기
  2. import mx.transitions.Tween;
  3. import mx.transitions.easing.*;
  4.  
  5. //-----변수부
  6. var i=0;
  7. var count:Number = 1;
  8. var maxCount:Number = 4;
  9. var duration:Number = 1000;
  10. var prevCount = 0;
  11. var chkCount = 0;
  12. var chkCountEnd = 1;
  13. var chkPrevCountEnd = 1;
  14.  
  15. //-----스테이징
  16. this.createEmptyMovieClip("boxGroup", 100);
  17. for(i;i<maxCount*2+1;i++){
  18.         _root.boxGroup.attachMovie("box", "box"+i, i);
  19.         _root.boxGroup["box"+i]._x = 0;
  20.         _root.boxGroup["box"+i]._y = 50*i+10;
  21.         _root.boxGroup["box"+i].boxTxt.text = i+1;
  22. }
  23.  
  24. //-----함수부
  25. function executeCallback():Void {      
  26.         var box_tween:Tween = new Tween(boxGroup, "_y", Strong.easeInOut, -100*(prevCount) , -100*(count), 0.8, true);
  27.         if(count >= maxCount){
  28.                 chkCountEnd *= -1;
  29.         }
  30.         if(prevCount >= maxCount){
  31.                 chkPrevCountEnd *= -1;
  32.         }
  33.         if(chkCountEnd == -1 && count == 0){
  34.                 chkCountEnd *= -1;
  35.         }
  36.         if(chkPrevCountEnd == -1 && prevCount == 0){
  37.                 chkPrevCountEnd *= -1;
  38.         }
  39.         if(chkPrevCountEnd == 1){
  40.                 prevCount++;
  41.         }else if(chkPrevCountEnd == -1){
  42.                 prevCount--;
  43.         }
  44.         if(chkCountEnd == 1){
  45.                 count++;
  46.         }else if(chkCountEnd == -1){
  47.                 count--;
  48.         }
  49. }
  50.  
  51. //-----실행부
  52. setInterval(this, "executeCallback", duration);

 

 

 

Posted by 그림쟁이 (FREE DAY)