웹디자인 강의
Flash ActionScript 2_1 sample
2006.07.09 23:43
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 : 프레임을 재생할 때
■들어가는 말 : 책에 보면 예제가 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 : 프레임을 재생할 때
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 공지 강좌를 올리기전 공지사항을 읽어주세요 [12] | Eccen | 2004.12.15 | 48035 |
2235 | 눈 내리는 이미지 만들기 10 [1] | 문학의향기 | 2006.07.28 | 5941 |
2234 | 사각으로 이미지 자르기 9 | 문학의향기 | 2006.07.28 | 3721 |
2233 | 일부분만 칼라로 만들기 8 | 문학의향기 | 2006.07.27 | 3880 |
2232 | 스핀강좌~ 브러쉬로 찍은 꽃이 돌아감 7 [1] | 문학의향기 | 2006.07.27 | 5209 |
2231 | 이미지 주위 부드럽게 만들기 6 | 문학의향기 | 2006.07.27 | 4309 |
2230 | 글자주위에 색깔 넣기 5 | 문학의향기 | 2006.07.26 | 3969 |
2229 | 글자모양 마음대로~ 4 | 문학의향기 | 2006.07.26 | 3551 |
2228 | 글씨 반짝이게 하기 3 | 문학의향기 | 2006.07.26 | 4296 |
2227 | 글씨체 마음대로 쓰기 2 [1] | 문학의향기 | 2006.07.26 | 4494 |
2226 | 포토샵 단축키 모음 1 | 문학의향기 | 2006.07.26 | 3605 |
2225 | 스위시맥스 - 한글,영문 동영상강좌[초급~고급] [3] | 에듀멘 | 2006.07.21 | 10952 |
2224 | ActionScript 2_4 sample [2] | 하나둘 | 2006.07.20 | 8250 |
2223 | ActionScript 2_3 sample | 하나둘 | 2006.07.15 | 5057 |
2222 | ActionScript 2_2 sample | 하나둘 | 2006.07.13 | 4989 |
2221 | 이러닝 저작tool 강좌 | 윤선미 | 2006.07.12 | 4486 |
» | ActionScript 2_1 sample | 하나둘 | 2006.07.09 | 5294 |
2219 | ActionScript 1_5 | 하나둘 | 2006.07.09 | 4618 |
2218 | ActionScript 1_4 | 하나둘 | 2006.07.09 | 3889 |
2217 | ActionScript 1_3 | 하나둘 | 2006.07.09 | 4532 |
2216 | ActionScript 1_2 | 하나둘 | 2006.07.09 | 4674 |