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

 

저번에 포스팅 했던 강아지시계를

바탕화면으로 쓰고 싶다는 욕망으로 달려들었습니다.

긴가민가 했는데 잘 돌아가더군요.

 

 

 

 

 

<하는 방법>

1. 플래시로 바탕화면에 쓸 컨텐츠를 만든다.

 

2. 저장하고, Ctrl + Alt + F12를 누르면 Publish Settings가 뜬다.

   swf와 html에 체크하고 Publish를 누르면, 소스가 저장된 위치에 swf와 html, jc 파일이 생성된다.

   (한마디로 필요한 파일은 swf, html, jc 요 3가지)

 

3. 디스플레이 등록정보에 들어가 (바탕화면에서 마우스 우클릭 -> 등록정보) 바탕화면 탭 클릭.

 

4. 찾아보기를 눌러서, 작업한 html 파일을 선택한다.

 

5. 확인 누르면 끝.

 

 

 

일단 이러면 끝. 참 쉽다.

그러나 그냥 이대로 하시면 몇가지 시행착오를 겪게 되실텐데,

 - 플래시가 화면 왼쪽 위에 고정되는 점.

  : 이는 html 파일을 수정하면 된다. html파일 열고 웹브라우저에서 마우스 우클릭 -> 소스보기

    <body>다음에 <center>를 넣어주면 좌/우의 중간에, <p align = right>를 넣어주면 우측에.

    좀 아랫쪽에 위치해주고 싶다면 단순히 <br>을 여러번 넣어도 된다.

 

 

 

 

단순히 강아지 시계를 바탕화면으로 써보고 싶으신 분은,

아래의 압축파일을 다운받으셔서 위처럼 하시면 됩니다.

바탕화면 오른쪽 위에 강아지시계가 작동할 것입니다.

 

Posted by 그림쟁이 (FREE DAY)

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

새 캐릭터로 뭔가 하나 그려보려 했는데

목 아래쪽은 해봐도 영 맘에 안들더군요.

 

참수시켜서(!!) 시계용으로 쓰렵니다.

언젠가는 몸이 다시 붙을거에요. 언젠가는..

 

참고문헌은 "신명용의 플래시 MX Actionscript 2권"

 

 

  1. function digit(x){
  2.         if(x<10){
  3.                 return "0" + x;        
  4.         }else{
  5.                 return x;
  6.         }
  7. }
  8.  
  9. function meri(x){
  10.         if(x<12){
  11.                 timeMeri = "AM";
  12.                 return x;
  13.         }else{
  14.                 timeMeri = "PM";
  15.                 return x - 12;
  16.         }
  17. }
  18. function timeProcess(){
  19.         time = new Date();
  20.        
  21.                 timeYear = time.getFullYear();
  22.                 timeMonth = digit(time.getMonth()+1);
  23.                 timeDate = digit(time.getDate());
  24.                 timeHour = digit(meri(time.getHours()));
  25.                 timeMin = digit(time.getMinutes());
  26.                 timeSec = digit(time.getSeconds());
  27.                
  28.                 i=0;
  29. }
  30.  
  31.  
  32. var i = 0;
  33.  
  34. this.onEnterFrame = function(){
  35.         if(i >= 30){
  36.                 timeProcess();
  37.         }
  38.         i++;
  39. }
  40.  
  41. timeProcess();

'작품 (Work) > character (캐릭터)' 카테고리의 다른 글

캐릭터디자인 [ 루돌프를 만난 소년 ]  (7) 2009/12/18
즉흥 일러스트  (2) 2009/12/13
[짐승] 강아지 시계  (2) 2009/12/07
손풀기겸 캐릭터 그리기 연습  (0) 2009/11/17
[나사로봇] 집 작동  (0) 2009/10/30
[나사로봇] 괴물과의 만남  (2) 2009/10/19
Posted by 그림쟁이 (FREE DAY)

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

플래시에서 보여주던 개체를 인쇄할때 유용합니다.

 

 

 

Object
    |
    +-PrintJob

public class PrintJob
extends Object

 

 

일단 구조는 이렇고.

이제 사용방법을 봅시다.

 

 

 

var myPrint = new PrintJob() ; //프린트잡 클래스 생성

   myPrint.start(); //스플시작
   myPrint.addPage(pg1, {xMin:0,xMax:1000,yMin:0,yMax:1000});

     //pg1인스턴스를 출력. 한번에 많은 페이지를 출력할때는 같은 형식으로 여러줄 작성하면 됩니다.

     //중괄호{} 안의 데이터를 수정해서, 보여주고자 하는 영역을 설정 가능.

   myPrint.send(); //프린터로 데이터 전송
   delete myPrint; //인쇄 후 전송된 데이터 삭제
}

 

 

 

심볼 중심축(+)이 프린트 할 대상의 왼쪽위가 되야 합니다.

구석에 쳐박아놔도 심볼 자체의 기준점에 맞춰서 나오니 유념하세요.

인쇄는 픽셀단위. A4용지에 꽉 차게 프린트를 하려면 심볼 크기를 559 x 805 에 맞춰서 작업하세요.

인스턴스네임별로 불러들이니까, 인쇄 대상은 겹쳐도 각각 잘 나옵니다.

 

 

 

클래스니까 당연히 콜백방식으로 작성해야 돌아갑니다.

자세한 내용은 역시 도움말 참조.

 

잘 안되면 댓글 달아주세요.

 

 

 

 

 

 

 

 

 

P.S. 이거 테스트하느라 3~40장쯤 뽑은듯 OTL

       용지가 아깝다면 추천 (..슬그머니)

Posted by 그림쟁이 (FREE DAY)

크리에이티브 커먼즈 라이선스
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)

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

 

 

 

플래시 위에서 휠을 굴려보세요

 

 

//----변수선언

var stgHeight = 300;
var recHalfSize = rec._height/2;

 

//----객체선언

mouseListener = new Object();
mouseListener.onMouseWheel = function(delta) {
   if(rec._y > stgHeight - recHalfSize){
      rec._y = stgHeight - recHalfSize;
   }else if(rec._y < 0 + recHalfSize){
      rec._y = 0 + recHalfSize;
   }else{
      rec._y += delta*2;
   }

}

 

//----실행부
Mouse.addListener(mouseListener);

 

 

 

 

Posted by 그림쟁이 (FREE DAY)