★ 컴퓨터 교실 ★/스위시

스위시맥스 스크립트 용어

털보아찌 2009. 1. 4. 18:42


무비클립(sprite) 로딩 되었을때
즉 타임라인에 나타났을때 실행하라는 핸들러입니다
이벤트가 실행되었을때 실행할 펑션이
반드시 정의 되어있어야 합니다.

◈ {} , ; , _ ->

액션 스크립트를 보면 위의 기호들을 보실수 있습니다.

1.{} -> 함수는 funtion 이라는 키워드로 함수의
시작을 알려줍니다. 함수내의 내용은 대괄호{}
로 묶어서 블럭을 지정합니다.
마지막은 반드시 } 로 닫아주어야 합니다. 고로 {} 은 함수의
블럭을 어디에서 어디까지로 설정해줄것인가?
하는 영역을 지정해 주는것입니다.
{} 표시는 핸들러,혹은 while,for,if 구문등에서
주로 기술하게 됩니다.

2.; -> 실행문을 쓸때 종종 기술되는 이것은 하나의 액션스크립트가
끝나거나 생략되었다는것을 뜻합니다.
행을 바꿀경우에는 ; 을 생략할수도 있습니다.

3._ -> 일명(언더바)라고도합니다.
정확한 이름은 타겟패스(target path)라고 부릅니다. 이것은
오브젝트의 패스(경로)를 기술하는것입니다.

_parent -> (태어나게하다:영문해석)
즉 "현재있는장소(디렉토리개념)에서" 라는 뜻입니다.

_root ->
root 라는것은 가장 윗부분,
즉 대부분 "스테이지 상에서의 절대경로" 를 지정하는것입니다.

this -> 이것은 액션스크립트에서는 "자기자신" 을 나타내는 말입니다
fla,swi 파일을 다운받아 보았을때
액션스크립트에서 가장 눈에 많이 띄는것이 _this 일것입니다.
액션을 입력할때 그 대상이 자기 자신이 되도록 만들때 쓰는 것입니다.

_x,_y -> x와y의 좌표값을 나타내는것입니다.

target -> 경로를 표시할때 사용합니다.

◈ 수치연산자

수치연산자는 말 그대로 "연산하는것" 입니다

+,-,*,/ -> 더하기,빼기,곱하기,나누기
% --------> 나머지
++ -------> 1씩더함(변수+1)
-- -------> 1씩 뺌(변수-1)


◈ onEnterFrame()
무비의 프레임 속도에 따라 계속진행되는
핸들러(실행되는상태)입니다.

◈ _xmouse,_ymouse
마우스커서가 있는 x축y축의
위치값을 나타냅니다.


◈ if / else

if -> 만일~이었다면의 뜻을 가진 조건 구문입니다
else -> ~ 하지 않는다면의 뜻을 가진 조건 구문입니다

if 구문은 else 와 함께 사용되기도 합니다.
"만약~하다면~한다" 라는 문장으로 끝나는 경우는
if 만을 사용하면 되지만
"만약~한다면~하지만,~하지않는다면 ~한다" 라는 문장을 사용할
경우는 if 구문을 폐행 시킨후(괄호닫기)
새로 else 구문을 개행(괄호열기)해
"그렇지 않다면" 의 조건에 해당하는 스크립트를 작성해야합니다


스크립트

_x,_y 는 무비클립(스프라이트)의 x 및 y 위치
_alpha는 무비클립의 투명도
_xscale, _yscale는 무비클립의 x 및 y 크기
xspeed, yspeed는 x 및 y 속도

_y=random(200)+50.......y의 위치가 50 ~ 250 사이가 되도록
_x=random(400)......x위 위치가 0 ~400 사이
무비크기에 따라 숫자를 조정하시면 됩니다.

무비클립의 움직이는 방향은 아래처럼 조정하시면 됩니다.
↓...... _y+=Yspeed
↑...... _y-=Yspeed
→..... _x+=Xspeed
←..... _x-=Xspeed
무엇이 다르게 설정된건지 아시겠죠?
+= .... 증가
-= .... 감소

설명이 모자라는 부분이나 의문점은 질문을 해주세요.
약간 아는것만으로 다른 사람들에게 쉽게 설명한다는것이 쉽지 않네요.

........................................................................................

speedX ,speedY 는 속도를 의미합니다. 수치가 클수록 빠르게 움직입니다.

targetX , targetY 부분은 무비 크기 수치를 넣었다는것 아시겠죠?

if(random(8)==1)...이 부분은 1/8 확률로 이동할 지점 변경된다고 보시면 됩니다.
만약 8이라는 숫자보다 작게 설정하면 자주 방향을 바꾸고 크게 설정하면
가끔씩 방향을 바꾸게 되겠지요.


this._x=this._x+speedX*(targetX-this._x);
this._y=this._y+speedY*(targetY-this._y);
이부분은 통째로 외워두세요.
부드럽게 목표지점으로 이동하는 스크립트를 사용할때 필요합니다.