메뉴 건너뛰기

XE : Xpress Engine




웹디자인 강의

2-1 ActionScript_Sample1. 클립액션으로 무비클립을 움직인다.
■들어가는 말 : 책에 보면 예제가 41문제 있습니다. 하나씩 보려면 상당한 실력이 요구됩니다.(초보자인 관계로). 그래서 초보자 수준에서 볼 수 있는 것만 요약해서, 앞에 거론한 (ActionScript1_1~1_5)에 맞추어 보려고 합니다.



[플래시 레이어 설명]
레이어1에 무비클립을 . 레이어2에 버튼을 놓는다.

버튼           |●|                              
무비클립     |●|

MovieClip 오브젝트의 클립 액션

onClipEvent(load) {  //처음 중괄호

//초기화(무비클립이 움직이는 환경의 처음 조건)
//글로벌 변수의 초기화
xMin = 0 ;         //왼쪽 끝의 좌표
xMax = 400 ;     //오른쪽 끝의 좌표
yMin = 0 ;
yMax = 300 ;
//이 MovieClip오브젝트의 사이즈를 로컬좌표로 취득
theBounds = this.getBounds(this) ;    
//getBounds() 메소드는 무비클립 오브젝트의 상하좌우 좌표를 읽는다.

//그 안의 값(자체의 중심점에서의 픽셀수)를 오프셋(차감)
xMin -= theBounds.xMin ;
xMax -= theBounds.xMax ;
yMin -= theBounds.yMin ;
yMax -= theBounds.yMax ;
xDir = 1 ;       //이동방향을 위함. 플러스는  오른쪽 . 마이너스는 왼쪽방향
xMove = 10 ;
yDir = 1 ;
yMove = 10 ;
bActive = 1 ;    //움직이고 있는지 어떤지 관리하는 글로벌 변수

//bactive의 값을 세트하는 메소드(1이나 0을 인수로 하여 실행)
function setActive(b0n) {
bActive = b0n ;
}

//무비클립 스피드 콘트롤
function changeSpeed(newXmove, newYmove) {
xMove = newXmove ;
yMove = newYmove ;
}

//무비클립 실제 움직임(메소드정의)
function moveSayuu() {
var nextX = _x + xMove * xDir ;     //다음의 좌표(위치)를 산출
//만일 왼쪽 끝이나 오른쪽을 넘었으면 dir(방향)을 반전
      if (nextX < xMin) {
          nextX = Xmin ;
          xDir *= -1 ;
          } else if (nextX > xMax) {
          nextX = ymax ;
          xDir *= -1 ;
          }
_x = nextX ;     //실제로 이동
}

function moveJyouge() {
var nextY = _y + yMove * yDir ;
      if (nextY < yMin) {
          nextY = ymin ;
          yDir *= -1 ;
          } else if (nextY > yMax) {
          nextY = yMax ;
          yDir *= -1 ;
          }
_y = nextY ;
}

} //처음중괄호 닫음

onClipEvent(enterframe) {
    if (bActive) {    //bActive가 true(1)일 때만 동작
    this.moveSayuu() ;
    this.moveJyouge() ;
    }
}



Play_1 처음버튼의 스크립트
on(press) {
    _root.marimo.changeSpeed(10,10) ;  // x 10픽셀, y 10픽셀로 변경
    _root.marimo.setActive(1) ;
        }

Play_2 스피드 및 위치변화를 준 버튼의 스크립트
on (press) {
    _root.marimo.setActive(1) ;
        _root.marimo.changeSpeed(30,5) ;  // x 30픽셀, y 5픽셀로 변경
}

Stop버튼의 스크립트
on(press) {
        _root.marimo.setActive(0) ;
        }

[초보설명]_부제가 이상하지만 초보인 관계로 문제있으면 고수님들께서 리플로 수정해주세요.

1.연산자의 의미
  위에 보면 초기에 두 식이 있다.
  var nextX = _x + xMove * xDir ;  
  _x = nextX ;     //실제로 이동
  수식(계산식)은 아니지만
  초기값이 대입하면
  xMove = 10 , xDir = 1  이므로
  nextX = _x + xMove * xDir = _x + 10 * 1
        = _x + 10 이 된다.
  따라서, 실제 이동은
  _x = _x +10
  이것은 플래시 연산자에서 많이 보는
  _x += 10 과 같다. 즉 플러스이므로 무비클립 현재(임의의) 위치에서 오른쪽으로 10픽셀 만큼 움직인다는 뜻.

2.메소드
  theBounds = this.getBounds(this) ;    
  //getBounds() 메소드는 무비클립 오브젝트의 상하좌우 좌표를 읽는다.
  위에 보면 이런 메소드가 있는데, 무비클립 오브젝트의 메소드는(예_play(), stop(), getURL() 등등) 엄청나게 많이 있다. 그러므로 그때 그때 쓰임새를 하나씩 눈여겨 볼 수밖에 없을 것 같다.
  *this는 오브젝트 자체이고 dot는 연결문(해석..'의'로 하면 무난할 것 같음)
   _그래서(해석) 이 오브젝트의 상하좌표 값을 읽어 좌측에 대입한다.

3.onClipEvent(load)와 onClipEvent(enterFrame)
  load : 그 MovieClip 오브젝트가 로드(처음에 표시)된 경우_최초 초기 주어진 값.(조건)
  enterFrame : 프레임을 재생할 때
번호 제목 글쓴이 날짜 조회 수
공지 공지 강좌를 올리기전 공지사항을 읽어주세요 [12] Eccen 2004.12.15 48031
1975 [플래시 MX 동영상 강좌] 34. 가로 바네이 메뉴 제작하기 [4] 서기 2005.08.08 14886
1974 글자에 화려한 네온 입히기 [12] 유~후 2004.04.03 14885
1973 Edit Mesh를 이용한 기초 박스모델링 [9] file 나름 2003.02.11 14884
1972 펜툴의 파워!! [4] file 강용환 2004.02.02 14871
1971 빛나는 문자? 네온사인? Glow Text [4] file 카라 2002.02.22 14862
1970 [muTStyle.Net]-대략 이쁨- 메탈릭 아쿠아 버튼만들기 [3] file 바하무트 2003.11.09 14814
1969 칠전팔기의 나름대로 아바타 그리기 [12] file 칠전팔기 2003.07.17 14778
1968 배경그림을 이용하여 엠보스[입체]효과 주기.. [9] file *Hwan*ⓔ 2003.06.20 14764
1967 포토샵예제-노끈효과만들기 [1] file IamAndy 2006.10.01 14747
1966 축전에 쓰면 좋을 하트 움직이기 &세로선 움직이기 [4] file 이오르 2003.09.26 14691
1965 알수 없는 글씨 효과 강좌. ; [7] file 검은호수 2005.02.04 14676
1964 '메탈릭 와이어' 만들기 [20] 불럽 2002.02.22 14667
1963 [PSP정보]매우 좋은 사이트가 탄생 했네요 :) [5] 국왕 2002.02.27 14653
1962 사물 확 튀게하는 효과!! [12] file Free-i^^/ 2004.01.28 14634
1961 하이링고님의 말씀에 대한 공식적인 사과문 [4] 김광욱 2002.09.11 14621
1960 [일러스트페이지]플래쉬의 알파그라디언트를 일러스트에서 해보자~! [6] file 현주 2002.10.21 14608
1959 원빈을 그렸는데 아닌것 같아요.. [9] file 이천일 2005.01.09 14590
1958 [Photoshop+Gif Animation] 번쩍이는 글씨 만들기...^^; [16] Smileru™ 2002.08.16 14567
1957 이쁜 모자이크 테두리 만들기 [19] file 유경선 2003.02.07 14555
1956 #.....합성으로.....신비한 이미지만들기!!..:..:..:..신비한가....;;..:..:..:.. [17] file 엘프º 2003.01.13 14545