플래시 제작하는 방법

플래시 제작하는 방법

작성일 2010.04.18댓글 1건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요

플새시 제작은 어떻게하나요?

또 제작에 필요한 프로그램은 무엇이고

사용법은 무엇이죠? 자세히 알려주세요.



profile_image 익명 작성일 -

이게 마음에 드실지..../.

 

FLASH



- 제작사 :Macromedia (2005년 이후 Adobe)
- 버전 :


1996 : Macromedia Flash 1
~
2005 : Macromedia Flash 8
2007 : Adobe Flash CS3 (9)
2008 : Adobe Flash CS4 (10)

- 강좌 버전은?
본 플래시 강좌버전은 Macromedia Flash 8 로 AS 2.0 기반입니다.


1. 플래시 버전? 그런거 말고 플래시가 뭐냐고!
플래시(FLASH)는 간단히, 또 사전적으로 말하자면
'상호작용적인 벡터기반의 웹 페이지를 제작할 수 있는 웹 제작도구이다.'
이지만, 웹 어쩌구 나온다고 또 나모 웹에디터나 드림위버 같은 건 아니고
흔히들 말하는 플래시 게임, 또 2000~2004년 (아마도?) 까지 졸라맨,
마시마로 시리즈 등 플래시 무비들이 이 플래시 프로그램으로 만드는 것이다.



아마도 요런놈들을 한 번쯤 보았겟지?  (출처 - 마시마로 공식 홈 페이지)

2. 플래시를 본격적으로 배우기 전에
엥? 아직도 '본격적으로 배우기 전에' 야? 라며 스크롤바를 내리진 마시길..
별로 안되는 양이니 나중에 배울때 알려 드리겠지만 여기서 대충 알고가면
나중에 내 자질구래한 설명을 대충 넘어갈 수 있으니 매 먼저 맞는거라 생각하자.

확장자

확장자란 파일을 구분하기 위한 일종의 꼬리표같은 이름이다.
이를테면 한글 파일은 .hwp 메모장은 .txt 실행 파일은 .exe같은것들이다.
마찬가지로 플래시에도 확장자가 있다. 대표적으로 두 가지가 있는데
.swf와 .fla, 그리고 flv 이다.
먼저 .swf 는 이미 제작이 완료되어 Export 된것, 동영상으로치면 랜더링된것이라 말할수 있고
이제 수정은 불가능하고 '출판' 되어진 플래시 파일이라고 할 수있다. 우리가 인터넷에서 보는 플래시들은 모두 .swf 파일이다.
그다음 .fla는 제작중인 파일로 포토샵으로 친다면 .psd로 만들다가 나중에 jpg, gif 같은
이미지 파일로 변환하기 전의 확장자라고 보면 된다.
마지막으로 flv 는 플래시 영상파일의 확장자인데, 가진 정보력에 비해 현저히 떨어지는 용량을 장점으로해서
현재 대부분의 인터넷 영상(유튜브, 다음, 판도라 등)들은 flv형식의 동영상을 지원하고 있다.

 
액션 스크립트

액션 스크립트는 플래시 내에서 사용되는 일종의 프로그래밍 언어인데.
Maicrosoft 의 C, C++ 와 상당부분 비슷한 형태를 취한다.
플래시의 꽃으로 불릴만 하며 쉽기도 하지만 어렵기도한 그야말로 무한한 언어이다.
그래서  플래시가 사용자에따라서 발전할수 있게 해주는 원동력이다.

3.0이 없어요..

버전에 따라 AS 1.0, AS 2.0, AS 3.0 이 있고 현재로서는 AS 2.0 이 가장 많이 쓰이고
있다. 그렇다고 해서 최신 버전의 플래시 툴에서는 구 버전 AS를 사용할 수 있는것은 아니니
실망하진 말자. 다만, 플래시 툴의 발전에 따라 3.0을 익히는것은 불가피하다.
하지만 본 강좌는 플래시 초심자를 위한 강좌이고, 나중에 3.0을 익히더라도 도움이 된다고 생각한다.


다음 강좌부터는 정말 본격적으로 플래시를 다뤄 볼테니
플래시 프로그램을 설치하길... 구입을 하던 어둠의 경로를 타던
본인 재량이니 재주껏 구하길 바랍니다, 
혹, 플래시 플레이어와 플래시를 혼동하는 분들이 있는데,
플래시 플레이어는 플래시를 재생할수 있게만 하는 프로그램으로 프리웨어이므로 구하실때 유의하시기 바랍니다.

이번 강좌에서는 본격적인 플래시 이용 전에 알아두어야 할
구성요소에 대하여 설명합니다.

1.


플래시 8 의 메인 화면


2.


타임라인 창
플래시는 애니메이션 처럼 여러장의 프레임 단위의 그림이 모여 보여집니다.
다만 만화처럼 일일히 그림을 그릴 필요는 없지만 프레임 단위로 구분된곳을 표시해주는 곳입니다.

2-1 레이어 Layer
왼쪽 상단부에 보이는 레이어란?
- 한 레이어에서는 한 개체의 움직임밖에 표현하지 못한다. 따라서 여러 레이어를 사용해야 하며,
  최종적으로 만들어지는 애니메이션은 여러 레이어가 겹쳐진 모습이라 할 수 있다.
(위에 있는 레이어일수록 가장 위에 위치한 개체가 되어 그 뒤의 개체가 가려지게 된다.)
- 레이어의 삭제는 레이어창 우측 하단의 휴지통 아이콘으로 할 수 있다.
  레이어 삭제시 해당 레이어 안의 액션 등의 개체가 모두 같이 삭제되므로 주의하자.
- 플래시에서의 레이어는 포토샾이나 기타 그래픽 툴의 레이어와 같은 개념이므로 위의  설명이 복잡할 경우
  무시하도록 하자...

2-2 세부 타임라인 창
- 타임라인에서의 숫자는 해당 프레임의 숫자를 나타낸다.
  또한 1번 프레임의 붉은 막대는 현재 화면에 표시된 프레임을 나타냅니다.
- 타임라인 하단 중앙부에 표시된 1 / 12.0 fps / 0.0s 의 의미는 차례로 '현재 프레임' '완성 애니메이션의 초당 프레임 이동
  속도' '작업중 미리보기시 초당 프레임이동속도'(레이어의 복잡성이나 컴퓨터 사양에따라 실시간으로 달라짐)
- fps 의 수가 높을수록 더빨리 이동하지만 그만큼 자연스러운 움직임을 연출할 수 있게 됩니다.


3.


컬러 / 앵글 / 라이브러리 창

3-1 Color
- 말그대로 색 고르는 창입니다만..

3-2 Align & Info & Transform
- Align : 현재 보는 화면의 위치 설정
- Info : 선택 개체 (그림,소리)등의 정보
- Transform : 그림등의 크기 각도 변경

3-3 Library
- 현재 사용중이거나 외부에서 불러온 그림, 소리등의 대기소라고 보시면 됩니다.


4.



속성 창

4-1 Properties (속성)
- 선택 개체의 속성을 나타냅니다.
- 아무것도 선택하지 않았을시 현재 파일의 속성을 나타냅니다.(위의 그림 화면)
  Size : 사이즈
  Fublish : 출판 설정
  Background : 배경색
  Frame rate : 앞에서 설명한 fps 속도입니다.


도형 속성


 


그래픽 속성(심볼)



4-2 Filters (필터)
- 그림, 문자의 그림자 효과, 노이즈 효과등 다양한 효과를 추가합니다
1.

   강력한 플래쉬 기능중 3개를 꼽아야 한다면 아마
트위닝, 무비 클립, 액션 스크립트 가 아닐까 생각해본다.
그만큼, 플래시에서 오늘 배울 트위닝이 차지하는 비율이 높다는 뜻이기도 하다.
트위닝이란 화면상의 개체가 변하거나 움직이는 것을 말하는데,
점차적으로 크기를 변화할 수도 삼각형이 사각형이 되는 효과도 만들 수 있다.
<EMBED height=324 type=application/x-shockwave-flash width=402 src=http://cfile210.uf.daum.net/original/17708D244AED6B31AD58D7>

▲ 이것이 모션 트위닝

트위닝에는 모션 트위닝과 쉐이프 트위닝이 있다.
모션 트위닝은 단순히 '한 개체'가 크기와 회전, 색변경, 위치변경만 이루어지는 트위닝이고
쉐이프 트위닝은 '두 개체', 이를테면 사각형과 삼각형 사이에 자연스러운 변화를 주는 트위닝이다.

이번 강좌에서는 모션 트위닝만 다루도록 하겠다.

2. 플래시 문서 시작하기
플래시를 실행하고 새 문서를 만든다.

▲ 파일 - 뉴 클릭이나 Ctrl + N 을 누른다.


▲ 위와같은 창이 뜨면 맨위 Flsh Document를 클릭한다.



그럼 화면 중앙에 하얀 네모박스가 나타나게 되는데. 그곳이 작업할 플래시의 크기이다.
아래 속성창에서 플래시의 크기를 조절할수 있으며 흰 네모 밖으로 무언가를 만들어도 사라지진 않고,
다만 완성된 플래시에서 보이지만 않게 된다.


3. 그림 그리기

트위닝을하려면 트위닝을 할 개체가 있어야 한다.
아래와 같이 원 하나를 그려주자

▲ 편의상 동그라미로 그렸다. 삼각형이던 사각형이던 낙서던 상관 없다.




▲ 그리고 마우스로 동그라미를 쭉감싸 선택하거나 더블클릭하자,
한번 클릭하면 면만, 더블클릭하면 테두리 선까지 선택된다.
(심볼화 되지 않은 개체의 경우 마우스 드래그로 부분선택도 가능하다.)

원이 선택된 상태에서 F8을 누르면 다음과같은 창이 뜬다.




선택한 그림을 심볼, 무비클립, 버튼으로 만드는 창이다.
- 그래픽 : 만든 그림 등을 그룹화해서 하나의 개체로 만드며, 라이브러리에 추가한다.
- 버튼 : 말 그대로 버튼이며 다음 강좌에서 설명하도록 하자. 액션추가가 가능하다.
- 무비 클립 : 반복적인 움직임을 나타내는 개체, 액션을 추가할수도 있다.
그냥 모션 트위닝만 할 때에는 굳이 심볼지정을 할 필요는 없으나 심볼화하는 걸 습관화 하는 것이
여러모로 도움이 많이 된다 심볼 이름을 쓰고 'Graphic' 선택후 OK를 누르자.

▲ 심볼화가 완료되었다.



4. 타임 라인과 준비

이제 타임라인을 보자.



동그라미 친 부분에 검은 점이 박힌것을 볼수 있다. 현재 1프레임에 무언가 들어가 있다는 뜻이다.
그리고 위쪽과 중심의 붉은 선과 네모는 현재 보고있는 프레임을 나타낸다.

그리고 적당한 시간을 고려해을 선택한 후 아래와 같이 키프레임을 넣는다.
- 키프레임 : 플래시에서의 모션움직임에 있어서 프레임사이의 분계역할을 한다.
                 기본적으로 키프레임을 추가할시 이전프레임의 개체가 그대로 따라오게 된다.



간격을 너무 짧게 하면 움직임이 뚝뚝 떨어지고
너무길면 움직임이 답답해진다. FPS를 고려해 적당한 프레임에 넣자
(현재 작업중인 FPS는 30이라 2초만에 올수 있는 60프레임을 선택했다.)

 




그럼 1프레임과 60 프레임 사이에 회색 박스가 생긴다(사이에 모두 같은 모양이라는뜻)
아직 1~60프레임은 모두 같은 모양이라 플래시 파일을 재생해도 멈춰 있는것 처럼 보인다.

 그럼 이제 아래와 같이 60프레임을 선택한후 적당한 위치로 옮겨 보자.




 




그리고 오른쪽 클릭 '프리 트랜스폼' 을 선택한후 크기도 조절해 보자.





5. 모션 트위닝 넣기

모션 트위닝 넣기는 의외로 간단하다.
1번과 60프레임 사이의 회색 박스아무곳이나 오른 클릭후에
모션 트위닝을 선택하면 된다.



얍! (...)




프레임간의 사이가 보라색으로 변하고 화살표도 생긴다.
모션트위닝이 끝났다.

 CTRL + ENTER를 눌러 플래시 무비가 잘 만들어 졋는지 확인해 보자


앞선 모션 트위닝 강좌에이어 이번 강좌는 쉐이프 트위닝에대해 공부하기로 하겠다.
쉐이프 트위닝은 같은 개체가 크기와 위치만 변화는 모션트위닝과는 달리
다른 개체간의 자연스러운 움직이는데 목적이 있다.
저번 시간에 배운 간단한 설명은 생략하고 바로 시작하도록 하자.

<EMBED height=324 type=application/x-shockwave-flash width=402 src=http://cfile237.uf.daum.net/original/200535274AED6CFC92CC1C>
▲ 이것이 쉐이프 트위닝

 
1. 개체 만들기

쉐이프 트위닝은 아예 개체의 모양이 바뀌는 것이기 때문에 심볼지정된
그래픽으로는 트위닝 할 수 없으므로 혹시 심볼지정했다면 ctrl + b 로 풀어 주도록 하자.



- 심볼지정된 개체를 쉐이프 트위닝 하면 점선으로 표시되는 오류가 난다.

 ① 1프레임에 사각형을 그려주고 20프레임에 키 프레임을 추가한다.



 ② 그리고 20프레임만을 선택하고 그린 사각형을 지운다.



20프레임이 비어있는 하얀 동그라미가 된다.

③ 비어있는 20프레임에 원을 그리고 색도 바꾸어 보자.




④ 그리고 나서 1~20 프레임의 중간 회색부분을 클릭하고 아래 속성창에서  'Shape' 지정을 한다.



- 사실은 여기서 모션트위닝 지정도 가능하다. 'None'는 모션, 쉐이프 트위닝효과를 제거한다.

 ⑤ 쉐이프 트위닝 완료



- 성공적으로 쉐이프 트위닝이 완료된 모습.

 CTRL + Enter 로 잘 만들어졋는지 확인해 보자.


이정도만 해도 되죠???

액션은 F9을 눌러서 추가할수 있습니다.

 

액션모음

----------------------------------------------------------------------------
// .....       주석 기호 
/* ..... */    주석 기호 
----------------------------------------------------------------------------
\r        // 리턴 코드  (ASC 13)
\n        // 줄바꿈 코드 (ASC 10)
\r\n      // 줄바꿈 코드  (2줄)
\t        // Tab 코드 (ASC 9)
\b        // Backspce 코드 (ASC 8)
&         // text 파일 데이타 구분 코드
----------------------------------------------------------------------------
산술연산자  +, -, *, /, %                 //  %  나머지를 구한다
대입연산자  =, +=, -=, *=, /=, %=         //  i+=4 와  i=i+4 는 같다
증감연산자 ++, -- // i++ 와 i=i+1 는 같다
비교연산자  ==, !=, >, <, >=, <=          //  !=  '같지않다' 로 해석
비교연산자 === // 숫자 와 문자 구분
a = 5; b = "5"; // 숫자 5 와 문자 "5"
(a == b) // 숫자 5 와 문자 "5" 는 같다 (true)
(a === b) // 숫자 5 와 문자 "5" 는 틀리다 (false)
논리연산자  &&, ||, !                     //  그리고(AND), 또는(OR), 아니면(NOT)
조건연산자  ?    ( a ) ? b : c ;          //  a 조건이 맞으면 b 틀리면 c 실행
x=5;  y=10;  z=(x<6) ? x: y;   trace (z); //  z 은 5 이다
문자연산자  eq  ne  not  or  add          //  eq(==) ne(!=) not(!) or(||) add(+ 문자열의 연결)
( ) // 연산의 순서를 정한다
[ ] // 배열을 지정한다
" " // 문자를 지정한다
a=1+2; trace(a); // 연산 결과 출력. 결과는 3
aaa=1;  set("ccc", aaa );  trace(ccc);    //  변수에 값을 지정.  결과는 1
aaa=1;  set("ccc", "aaa");  trace(ccc);   //  변수에 값을 지정.  결과는 aaa
set("ooo", getProperty ("ppp", _x ));     //  ppp x 좌표를  ooo 에 지정.
----------------------------------------------------------------------------
for (a=1; a<=10; a++)  { trace("a="+a); };             //  for  반복문
for (i=1; i<=120;  i+=12) { continue; };               //  for step 반복문
while(true) {  if(a == 0) { break; }; };               //  while  반복문
do { if(a == 0) { break; }; };  while(true);           //  do 반복문
if((n == 0) || (n >= 5)  &&  (n <= 55)  !(n=15)) {     //  if 조건문
 gotoAndPlay(1);
} else if (n == 2) {
 gotoAndPlay(2);
} else {
 gotoAndPlay(3);
};
num_ch = 3; // switch 조건문
switch (num_ch) {
      case 1:    trace ( " case 1 tested true " );  break;
      case 2:    trace ( " case 2 tested true " );  break;
      default:    trace ( " no case tested true " );
};
----------------------------------------------------------------------------
function sumnumber(a,b,c) {  return(aaa= a+b+c); };    // 함수
sumnumber(1,2,3);
trace(aaa);
----------------------------------------------------------------------------
Math.abs(-1)              //  절대값.   결과는 1
Math.sin(1)               //  sin 값.   결과는 0.841470984807897
Math.cos(1)               //  cos 값.   결과는 0.54030230586814
Math.tan(1)               //  tan 값.   결과는 1.5574077246549
Math.log(2)               //  log 값.   결과는 0.693147180559945
Math.exp(1)               //  지수 값.    결과는 2.71828182845905
Math.sqrt(9)              //  제곱근 값.    결과는 3
Math.pow(2 , 4)           //  거듭제곱 값.    결과는 16
Math.ceil(1.1)            //  가까운 정수로 올림 값.    결과는 2
Math.ceil(1.5)            //  가까운 정수로 올림 값.    결과는 2
Math.floor(1.2)           //  가까운 정수로 내림 값.    결과는 1
Math.floor(1.7)           //  가까운 정수로 내림 값.    결과는 1
Math.round(1.2)           //  가까운 정수로 반올림 값.    결과는 1
Math.round(1.5)           //  가까운 정수로 반올림 값.    결과는 2
Math.max(1 , 2)           //  두 정수 중 큰 정수값.    결과는 2
Math.min(1 , 2)           //  두 정수 중 작은 정수값.    결과는 1
int(1.12 );               //  수치를 정수화.   결과는 1    
int(1.82 );               //  수치를 정수화.   결과는 1    
parseInt("3.2");          //  문자열을 정수화.  결과는 3    
parseInt("3.7");          //  문자열을 정수화.  결과는 3    
parseInt("5abc");         //  문자열을 정수화.  결과는 5
parseInt("abc5");         //  문자열을 정수화.  결과는 NaN    
parseInt("3E8", 16);      //  16 진수로 변환.   결과는 1000
parseInt("777", 8);       //  8 진수로 변환.   결과는 511
parseInt("1010", 2);      //  2 진수로 변환.   결과는 10
parseFloat("2")           // 문자열을 부동점 숫자로 변환.  결과는 2
parseFloat("2.4")         // 문자열을 부동점 숫자로 변환.  결과는 2.4
parseFloat("2.6abc")      // 문자열을 부동점 숫자로 변환.  결과는 2.6
Number("11")              //  문자열을 숫자로 변환.   결과는 11
Number("12.34")           //  문자열을 숫자로 변환.   결과는 12.34
Number("12.34abc")        //  문자열을 숫자로 변환.   결과는 NaN
sss = 123;  uuu = sss.toString();      // 숫자를 문자로변환.  결과는 123
ord("abc"); // ASCII 값. 결과는 97
s = "abc";   sss = s.charCodeAt(0);    //  1번째 ASCII 값 .   결과는 97
s = "abc";   sss = s.charCodeAt(1);    //  2번째 ASCII 값.    결과는 98
chr(65); // ASCII 코드를 문자화. 결과는 A
String.fromCharCode(64,65,66);         //  ASCII 코드를 문자화.  결과는 @AB
Math.random(); // 난수 발생. 결과는 0 - 1 사이의 소숫점 포함한 값
random(5); // 난수 발생. 결과는 0,1,2,3,4 중 하나
----------------------------------------------------------------------------
// delete 변수 또는 객체 ;             // 변수를 삭제  (var 로 선언된 변수는 삭제할 수 없다)
account = 1;   trace (account) ;                      // 결과는 1 
account = 1;   delete account;    trace (account);    // 결과는 undefined
delete onEnterFrame; // 반복 실행 중지
----------------------------------------------------------------------------
typeof( );            // String, Number, MovieClip, Object, Boolean, Function 여부를 지정
trace (typeof(1));    // 결과는 Number
trace (typeof("1"));  // 결과는 String
trace (typeof(aaa));  // aaa가 무비클립 이라면  결과는 MovieClip
----------------------------------------------------------------------------
isFinite( );            // 숫자가 유한수이면 true 무한수거나 음의 무한대이면 false
trace (isFinite(aaa));  // aaa 값이 NaN 이라면 결과는 false
----------------------------------------------------------------------------
Mouse.show();           // 마우스 보임
Mouse.hide();           // 마우스 감춤
myClip.onMouseDown = function () {trace (" depth 무시"); };     // 마우스 누를 때
myClip.onMouseUp = function () {trace ("depth 무시"); };        // 마우스 눌렀다 놓을 때
myClip.onMouseMove = function () { trace ("depth 무시"); };     // 마우스 이동할 때
myClip.onPress = function () { trace ("depth 적용"); };         // 마우스 누를 때
myClip.onRelease = function () { trace ("depth 적용 "); };      // 마우스 눌렀다 놓을 때
myClip.onReleaseOutside = function () { trace ("Outside"); };   // 마우스 나가서 놓을 때
myClip.onRollOver = function () { trace ("Over called"); };     // 마우스 오버 때
myClip.onRollOut = function () { trace ("Out called"); };       // 마우스 아웃 때
----------------------------------------------------------------------------
// 단추무비클립 클릭후 액션 스크립트를 넣는다
on (press){           }  // 마우스 버튼을 누를 때   };  x  }  o
on (release){         }  // 마우스 버튼을 눌렀다 뗄 때
on (releaseOutside){  }  // 마우스 버튼을 누르고 나가서 뗄 때
on (rollOver){        }  // 마우스 포인트가 위로 올라올 때
on (rollOut){         }  // 마우스 포인트가 밖으로 나갈 때
on (dragOver){        }  // 누른 채로 밖으로 나갔다가 다시 들어올 때
on (dragOut){         }  // 마우스버튼을 누르고 바깥으로 드래그할 때
on (keyPress){        }  // 지정한 키를 누를 때
----------------------------------------------------------------------------
// 무비클립 클릭후 액션 스크립트를 넣는다
onClipEvent (load) {            }  // 시작 될때  };  x  }  o  
onClipEvent (unload) {          }  // 제거 될때
onClipEvent (enterFrame) {      }  // 트리거 될때
onClipEvent (mouseMove) {       }  // 마우스가 이동할 때
onClipEvent (mouseDown) {       }  // 마우스 클릭 시
onClipEvent (mouseUp) {         }  // 마우스 클릭 후
onClipEvent (keyDown) {         }  // 키를 누를 때
onClipEvent (keyUp) {           }  // 키를 눌렀다 놓을 때
onClipEvent (data) {            }  // loadVariables 또는 loadMovie 액션에서 데이터가 수신될 때
----------------------------------------------------------------------------
TextField.onChanged = function () { trace ("onChanged called"); };
// 텍스트 필드의 내용이 변경될 때
TextField.onSetFocus = function () { trace ("onSetFocus called"); };
// 텍스트 필드의 내용 부분에 마우스가 클릭 될 때
TextField.onKillFocus = function () { trace ("onKillFocus called"); };
// 텍스트 필드의 내용 바깥 부분에 마우스가 클릭 될 때
TextField.onScroller = function () { trace ("onScroller called"); };
// 텍스트 필드의 내용이 스크롤 될 때
----------------------------------------------------------------------------
myMovieClip.onData = function () { trace ("onData called"); }; 
// 무비 클립이 loadVariables 또는 loadMovie 호출로부터 데이터를 받을 때
myMovieClip.onLoad =  function () { trace ("onLoad called"); }; 
// 무비 클립이 load 호출로부터 데이터를 받을 때
myMovieClip.onUnLoad =  function () { trace ("onUnLoad called"); }; 
// 무비 클립이 Unload 때
myMovieClip.stop()  
// 작업 중지
----------------------------------------------------------------------------
myDate = new Date(); // 날짜 로드
myDate = new Date (년,월,일,시,분,초);             // 날짜 지정
yyyy = (myDate.getFullYear() + "-" + (myDate.getMonth() + 1) + "-" + myDate.getDate());
tttt = (myDate.getHours()+ " :" + myDate.getMinutes() + " :" +myDate.getSeconds());
----------------------------------------------------------------------------
_root.onEnterFrame = function() {   };             // 메인화면에서 프레임 반복
onEnterFrame = function() {   };                   // 심볼화면에서 프레임 반복
----------------------------------------------------------------------------
tmtm = getTimer();          
onEnterFrame = function() {
  if ( (getTimer()-tmtm) >= 500 ) { tmtm=getTimer(); trace (tmtm); };   // 0.5초후 반복실행
  if ( (getTimer()-tmtm) >= 1000 ) { tmtm=getTimer(); trace (tmtm); };  // 1초후 반복실행
  if ( (getTimer()-tmtm) >= 2000 ) { tmtm=getTimer(); trace (tmtm); };  // 2초후 반복실행
};
----------------------------------------------------------------------------
onEnterFrame = function() {
   nr += 1;  if (nr > 5 )  {  delete  onEnterFrame;  };           // 5번 반복실행후 중지
   trace (nr);
};
----------------------------------------------------------------------------
createTextField ("ins", 1, 100, 100, 50, 50)
ins.border = true;
function callback() {
   ins._x += 5;
   if ( ins._x > 400 ) { clearInterval( intervalID );  };      // 중지 (clearInterval)
}
var intervalID;
intervalID = setInterval( callback, 100 );             //  0.1초후 반복실행 (setInterval)
----------------------------------------------------------------------------
#include "script.as"         // script.as 파일 넣기 (액션 스크립트 txt 파일)
----------------------------------------------------------------------------
System.useCodepage = true;   // 한글 깨짐 방지
trace(System.capabilities.language)          // Flash Player가 지원하는 언어. 결과는 ko
trace(System.capabilities.hasVideoEncoder)   // 지원되는 비디오 인코더. 결과는 true, false.
trace(System.capabilities.hasAudioEncoder )  // 지원되는 오디오 인코더. 결과는 true, false.
trace(System.capabilities.hasAudio)          // 오디오 성능이 있는지 여부. 결과는 true, false.
trace(System.capabilities.hasMP3)            // MP3 디코더가 있는지 여부. 결과는 true, false.
----------------------------------------------------------------------------
escape("abc가나다");         // URL에 사용하기 위해 인코딩.
// System.useCodePage= true; 일때 결과는 abc%B0%A1%B3%AA%B4%D9
// System.useCodePage= false; 일때 결과는 abc%EA%B0%80%EB%82%98%EB%8B%A4
----------------------------------------------------------------------------
trace(targetPath(this));     // 대상 패스를 반환.  결과는 _level0.instance1 로 표시
trace(this.valueOf());       // 결과는 _level0 로 표시
----------------------------------------------------------------------------
trace(this.getBytesLoaded());  // 무비클립의 로드된 바이트 수를 알려준다.
trace(this.getBytesTotal());   // 무비클립의 전체용량 바이트 수를 알려준다.
----------------------------------------------------------------------------
getURL("C:/") // 탐색기 열기
getURL("C:/Windows/NOTEPAD.EXE");   };                 // 메모장 열기
getURL("C:/Program Files/Accessories/WORDPAD.EXE");    // 워드패드 열기
getURL("C:/Program Files/Accessories/MSPAINT.EXE");    // 그림판 열기
getURL("C:/Windows/CALC.EXE");                         // 계산기 열기
getURL ("aaa.exe"); // aaa.exe 파일 열기 (message)
getURL ("aaa.txt", "_self"); // aaa.txt 파일 열기
getURL ("movie.html", "_self");                        // movie.html 파일 열기
getURL ("http://www", "_blank");                       // http://www 를 새로운 창으로 열기
----------------------------------------------------------------------------
Stage.showMenu = "true";        // 스크린 메뉴 보임
Stage.showMenu = "false";       // 스크린 메뉴 감춤 
Stage.scaleMode = "noScale";    // 화면의 사이즈를 고정
Stage.align = "TL";             // 화면의 정렬을 T(위) L(왼쪽)
           //  "T" 위 가운데    "B" 아래 가운데    "L" 가운데 왼쪽    "R" 가운데 오른쪽
           //  "TL" 위쪽 왼쪽   "TR" 위쪽 오른쪽   "BL" 아래쪽 왼쪽   "BR" 아래쪽 오른쪽
Stage.height      // 픽셀로 표시된 스테이지의 높이
Stage.width       // 픽셀로 표시된 스테이지의 넓이
----------------------------------------------------------------------------
_root.createEmptyMovieClip("box",1);      // 스테이지 테두리 주기
with (_root.box) {  moveto(1, 1);   linestyle(10, 0x00cc00, 100);
    lineto(stage.width, 1);     lineto(stage.width, stage.height);
    lineto(1, stage.height);    lineto(1, 1);   };
----------------------------------------------------------------------------
fscommand("showmenu", true);      // 스크린 메뉴 보임
fscommand("showmenu", false);     // 스크린 메뉴 감춤
fscommand("allowscale", true);    // 스크린 크기에 따라 무비의 크기도 변함
fscommand("allowscale", false);   // 스크린 크기에 따라 무비의 크기도 안변함
fscommand("fullscreen", true);    // 풀 스크린 (esc키 누르면 해제)
fscommand("fullscreen", false);   // 풀 스크린을 원래의 크기로 만든다
fscommand("trapallkeys", true);   // 키보드 키 사용할 수 없음 (풀 스크린 일때 esc키 먹통)
fscommand("trapallkeys", false);  // 키보드 키 사용할 수 있음
fscommand("quit");                // 스크린 닫기
fscommand ("exec", "a.exe");      // a.exe 파일 실행 (no message)
   플래시 무비(exe) 가 위치하는 폴더안에 fscommand 라는 하위 폴더를 만들고
   fscommand 디렉토리에  a.exe 가 있을때 플래시 무비(exe)를 실행하면 a.exe파일 실행
----------------------------------------------------------------------------
// getURL 로 javascript 사용하기
var hello = "Hello, World";
getURL("javascript_:alert(\" "+ hello + "  \")");   // 메세지 띄우기
getURL("javascript_:window.self.close()");          // 윈도우창 닫기
getURL("javascript_:window.external.AddFavorite('http://','가')" );    //즐겨찾기 추가
----------------------------------------------------------------------------
// fscommand 로 javascript 사용하기
1.  fscommand ("messagebox", "This is a Flash.");   // aaa.swf flash script
2.  파일메뉴 - 제작설정 - 포맷 (HTML체크) - HTML (템플릿: with FSCommand 체크)
3.  파일메뉴 - 제작 (파일명은 aaa.swf) -  aaa.html 파일이 디렉토리에 만들어 진다
4.  aaa.html 파일을 열고  function aaa_DoFSCommand(command, args) {  아래에
      if (command == "messagebox") {  alert(args);  };   을 적고 저장 한다
5.  aaa.html 실행 (실행후 제작설정 해제)
----------------------------------------------------------------------------
// fscommand 로 javascript 의 변수값 불러오기
1. fscommand ("search", TextFieldvar);     // aaa.swf flash script
2. if (command == "search") {              // aaa.html script
       EEEfind = "FFFFFFFF";
       window.document.aaa.SetVariable("TextFieldvar", EEEfind) ;
       return TextFieldvar;
    };
3. aaa.html 실행
----------------------------------------------------------------------------
_root.loadMovie("a.swf");            // swf 파일 불러오기
_root.bbb.loadMovie("a.swf")         // swf 를 메인에 있는 bbb무비클립인스턴스에 불러오기
_root.loadMovie("a.swf", 1);         // swf 를 레벨1로 불러오기 (2 는 1를  screen over)
_root.loadMovie("aaa.jpg");          // jpg 파일 불러오기
_root.bbb.loadMovie("aaa.jpg");      // jpg 파일을 메인에 있는 bbb무비클립인스턴스에 불러오기
unloadMovie (1);                     // 레벨 1에 로드된 무비를 언로드
unloadMovie ("a.swf");               // 현재 무비에 로드된 a.swf 무비를 언로드
_root.bbb.unloadMovie();             // 메인 타임라인의 bbb 무비클립에 로드된 무비를 언로드
this["bbb"].unloadMovie();           // 현재 타임라인의 bbb 무비클립에 로드된 무비를 언로드
sss.bbb.unloadMovie();               // sss 심볼 타임라인의 bbb 무비클립에 로드된 무비를 언로드
----------------------------------------------------------------------------
button.onPress = function() { _root.loadMovie("aaa.swf"); }     // aaa.swf 실행중 초기화 하기
----------------------------------------------------------------------------
_root["ball_"+counter]._x = 11;       //  메인 화면의 클립 좌표
this["ball_"+counter]._x = 11;        //  현재 화면의 클립 좌표
aaa["ball_"+counter]._x = 11;         //  aaa 심볼 화면의 클립 좌표
----------------------------------------------------------------------------
this.createEmptyMovieClip("aaa", 1);             //  무비클립 생성 (2 는 1를 screen over)
this.duplicateMovieClip (aaa, bbb, 1);           //  aaa 무비클립  bbb 로 복사
this.bbb.removeMovieClip();                      //  bbb 무비클립 삭제
myClip._visible = true; // 클립 보임
myClip._visible = false; // 클립 감춤
myClip.swapDepths(100); // 클립 깊이 100 으로 지정 (2 는 1를 screen over)
myClip.swapDepths(otherClip);                    //  클립 깊이 otherClip 과 바꿈
for (i=1; i<=360; i++) { // 클립 복사
     duplicateMovieClip (ins1, "mc"+i, i);
     setProperty ("mc"+i, _x, random(300));
     setProperty ("mc"+i, _y, random(300));
     setProperty ("mc"+i, _alpha, random(300));
     setProperty ("mc"+i, _xscale, 150);
     setProperty ("mc"+i, _yscale, 150);
};  
for (i=1; i<=360; i++) { // 클립 복사
     duplicateMovieClip (ins1, "mc"+i, i);
     this["mc" + i]._x = i;
     this["mc" + i]._y = i;
};  
for (i=1; i<=50; i++) { // 클립 이동
      this["mc_"+i]._x += 10;
      this["mc_"+i]._y += 10;
}; 
for (i=1; i<=360; i++) { // 클립 삭제
     this["mc" + i].removeMovieClip ();
}; 
----------------------------------------------------------------------------
setProperty ("mv", _x, 150);           // mv 무비클립 x좌표 속성 변경
myMovieX = getProperty( mv, _x);       // mv 무비클립 x좌표 속성 읽기
trace(myMovieX);
----------------------------------------------------------------------------
_alpha              알파값(%)
_currentframe       현재재생중인 프레임(#)
_droptarget         드래그 앤드드롭 할때 놓는 타깃위치(name)
_framesloaded       로드된 프레임수(#)
_height             높이(#)
_name               인스턴스(string)
_rotation           회전값(#)
_soundbuftime       사운드버퍼링 시간(기본값 5초:#)
_totalframes        총프레임수(#)
_url                다운로드한 URL(string)
_visible            보인다,안보인다 (true,false)
_width              가로길이(#)
_x                  x좌표(#)
_y                  y좌표(#)
_xmouse             마우스x좌표(#)
_ymouse             마우스y좌표(#)
_xscale             x배율(%)
_yscale             y배율(%)
----------------------------------------------------------------------------
_root.a.play;                    //  메인에 있는 a무비클립  프레임 재생
_root.a.stop;                    //  메인에 있는 a무비클립  프레임 중지
play(); // stop으로 정지된 현재타임라인의 프레임 재생
stop(); // 현재타임라인의 프레임 중지
gotoAndPlay(1);                  //  현재 Scene의 1프레임 재생
gotoAndPlay("a");                //  현재 Scene의 Label명 a 재생
gotoAndPlay("Scene 2", "c");     //  Scene 2의 Label명 c 재생
a.gotoAndPlay(1);                //  a무비클립의 1프레임 재생
gotoAndStop(1);                  //  현재 Scene의 1프레임 중지
nextScene();                     //  다음 장면의 프레임 1로 보내고 중지
prevSecne();                     //  이전 장면의 프레임 1로 보내고 중지
nextFrame();                     //  다음 프레임으로 보내고 중지
prevFrame();                     //  이전 프레임으로 보내고 중지
toggleHighQuality ();            //  저해상도와 고해상도 간을  전환
updateAfterEvent();              //  화면을 갱신 (onClipEvent 핸들러 내에서만 사용)
// (onMouseDown, onMouseUp, onMouseMove)
----------------------------------------------------------------------------
tellTarget ("../a") { nextFrame(); } //  ../a 무비클립을 호출후 다음 프레임 재생
if (_framesloaded = 10) {  }         // 만약 무비의 10프레임이 로드되면
----------------------------------------------------------------------------
// with 문
for (i=0; i<1000; i++) {
    with (aaa[i]) {
       _x = Math.floor(Math.random() * 500);
       _y = random(500);
       _rotation = random(360);
   }
}
// tellTarget 문 (속도빠름)
for (i=0; i<1000; i++) {
    tellTarget (aaa[i]) {
       _x = Math.floor(Math.random() * 500);
       _y = random(500);
       _rotation = random(360);
    }
}
----------------------------------------------------------------------------
aaa = new Array();              // 배열 초기화   
aaa = new Array("1","2","3");   // 배열값 넣기
bbb = ["Sun","Mon","Tue"];      // 배열값 넣기
aaa[1] = "abc";                 // 배열값 변환  ( "2" 가 "abc" 로 변환)
aaa[0] = "Jan" ;  aaa[1] = "Feb" ;  aaa[2] = "Mar" ;         // 배열값 변환
aaa[3] = "Apr"                  // 배열 추가 (aaa 값은  "Jan,Feb,Mar,Apr" )
ccc = aaa.concat(bbb);          // 배열 합침 (ccc 값은  "Jan,Feb,Mar,Apr,Sun,Mon,Tue" )
ddd = ccc.join("/");            // ,를  /로 변환  (ddd 값은  "Jan/Feb/Mar/Apr/Sun/Mon/Tue" )
ddd = ccc.length;               // 배열값 갯수 (ddd 값은  7 )
ddd = ccc.slice(2,4);           // 배열값 읽기 (ddd 값은  "Mar,Apr" )
eee = ccc.push("z","zz");       // 배열추가후  배열값 갯수 (eee 값은  9 )
// (ccc 값은 "Jan,Feb,Mar,Apr,Sun,Mon,Tue,z,zz" 로 변함)
eee = ccc.pop();                // 마지막 배열 분리후 값  (eee 값은  "zz" )
// (ccc 값은 "Jan,Feb,Mar,Apr,Sun,Mon,Tue,z" 로 변함)
eee = ccc.shift();              // 첫번째 배열 분리후 값 (eee 값은  "Jan" )
// (ccc 값은 "Feb,Mar,Apr,Sun,Mon,Tue,z" 로 변함)
eee = ccc.reverse();            // 배열값 순서바꿈 (eee 값은  "z,Tue,Mon,Sun,Apr,Mar,Feb" )
// (ccc 값도 "z,Tue,Mon,Sun,Apr,Mar,Feb" 로 변함)
eee = ccc.splice(2,5,"x","xx","xxx");  // 배열값 읽기후  변환  (eee 값은  "Mon,Sun,Apr,Mar,Feb" )
// (ccc 값은 "z,Tue,x,xx,xxx" 로 변함)
eee = ccc.unshift("1","2");     // 첫번째 배열추가후  값  (eee 값은  "7" )
// (ccc 값은 "1,2,z,Tue,x,xx,xxx" 로 변함)
sss = new Array(1,2,3);         // 숫자 배열값 넣기
uuu = sss.toString();           // 문자로변환.  결과는 1,2,3
vvv = uuu.toLowerCase();        // 대문자를  소문자로 변환.  원래 값은 변경되지 않음     
vvv = uuu.toUpperCase();        // 소문자를  대문자로 변환.  원래 값은 변경되지 않음 
xxx = Number("111")             //  숫자로 변환.   결과는 111
xxx = Number("aaa")             //  숫자로 변환.   결과는 NaN
xxx = Number(true)              //  숫자로 변환.   결과는 1
xxx = Number(false)             //  숫자로 변환.   결과는 0
----------------------------------------------------------------------------
cliparray = new Array();                     // 무비클립을 배열로 저장하기
for (a=1; a<=3; a++)  {
     cliparray[a] =  _root["clip"+a];
     cliparray[a].x =  _root["clip"+a]._x;
     cliparray[a].y =  _root["clip"+a]._y;
     trace(cliparray[a].x);
     trace(cliparray[a].y);
}
----------------------------------------------------------------------------
myString = new String(); // 문자 변수초기화
myString = new String("가나다");                   // 문자 넣기
tet="가나다";   myString = new String(tet);        // tet  변수 넣기
text0=myString.charAt(0); // text0 값은 "가" - 1개 읽기
text1=myString.charAt(1); // text1 값은 "나" - 1개 읽기
text2=myString.charAt(2); // text2 값은 "다" - 1개 읽기
text3=myString.concat("라마","바사","다");         // text3 값은 "가나다라마바사다"  -  추가
text4=text3.substr(2,4); // text4 값은 "다라마바" - 여러개 읽기
text5=text3.substring(2,4); // text5 값은 "다라" - 여러개 읽기
text6=text3.slice(2,4); // text6 값은 "다라" - 여러개 읽기
text7=myString.charCodeAt(1);                      // text7 값은  45208  - 문자를 코드화
text8="a" + String.fromCharCode(64) + "m";         // text8 값은 "a@m"  - 코드를 문자화
text9= text3.indexOf("다"); // text9 값은 2 - 문자위치
text10= text3.lastIndexOf("다");                   // text10 값은 7  -  마지막 문자위치
text11= text3.length; // text11 값은 8 - 문자길이
text12= text3.split("나"); // text12 값은 "가,다라마바사다" - 문자분리
text13= text6.concat(text3);                       // text13 값은 "다라가나다라마바사다"  -  문자합침
text14= text13.substr((text13.length-1),1);        // text14 값은 "다"  -  마지막 문자 읽기
sss = myDate.toString();  day = sss.substring(0,3);     // 문자로변환        
----------------------------------------------------------------------------
// aaa 문장을 bbb 배열로 저장하기                  // 문장을 배열로 저장하기
// 결과는 bbb[0]="a" bbb[1]="b" bbb[2]="c" bbb[3]="d" bbb[4]="e"
aaa = "a b c d e";
aaalen = aaa.length;
bbb = new Array();
for (a=0; a<=aaalen; a++)  { bbb[a] = "";  };
bbbno = 0;   bbbchr = "";
for (a=0; a<=aaalen; a++)  {
if ( aaa.charAt(a) == " " ) {  bbb[bbbno] = bbbchr;   bbbno += 1;   bbbchr = "";  
} else { bbbchr += aaa.charAt(a);   };
};
for (a=0; a<=bbbno; a++)  {  trace( "*" + bbb[a] + "*" )   }; 
----------------------------------------------------------------------------
for (a=1; a<=22; a++) { // 텍스트 필드 글자속성
        this["k"+(a)].textColor=0xff0000;
        this["k"+(a)].border=true;
        this["k"+(a)].borderColor=0xff0000;
        this["k"+(a)].background=true;
        this["k"+(a)].backgroundColor=0xffffff;
};
----------------------------------------------------------------------------
TextField.removeTextField(); // 텍스트 필드 삭제
----------------------------------------------------------------------------
createTextField ("instanceName", depth, x, y, width, height)   // 텍스트 필드 생성
      instanceName 새 텍스트 필드의 인스턴스 이름
      depth 새 텍스트 필드의 깊이를 지정하는 양의 정수 (2 는 1를  screen over)
      x 새 텍스트 필드의 x 좌표를 지정하는 정수
      y 새 텍스트 필드의 y 좌표를 지정하는 정수
      width 새 텍스트 필드의 넓이를 지정하는 양의 정수
      height 새 텍스트 필드의 높이를 지정하는 양의 정수
instanceName.type = "dynamic";               // 텍스트 필드의 기본 속성  (dynamic 또는 input)
instanceName.autoSize = "false";             // (글자수에 맞게 테두리 크기 자동 조절 true false center right)
instanceName.border = false;                 // (테두리)  
instanceName.borderColor = 0xff0000;         // (테두리 색상)  
instanceName.background = false;             // (배경)
instanceName.backgroundColor=0xffffff;       // (배경 색상)
instanceName.textColor = 0xff0000;           // (글자 색상)
instanceName.multiline = false;              // (한줄  또는  여러줄)
instanceName.selectable = true;              // (텍스트 필드를 선택할 수 있는지 여부)
instanceName.maxChars = null;                // (사용자가 입력할 수 있는 최대 문자 수) (null 이면 무한대)
instanceName.length = 0;                     // (글자 수)
instanceName._name = "";                     // (인스턴스 이름)
instanceName.variable = "";                  // (변수 이름)
instanceName.html = false;                   // (html 태그 사용 여부)
instanceName.htmlText = "";                  // (html 태그)
instanceName.wordWrap = true;                // (자동 줄바꿈 )
instanceName._x = 0;                         // (x 좌표)
instanceName._y = 0;                         // (y 좌표)
instanceName._width  = 0;                    // (넓이)
instanceName._height = 0;                    // (높이)
instanceName._xscale = 100;                  // (넓이 조절 %)
instanceName._yscale = 100;                  // (높이 조절 %)
instanceName.restrict = "";                  // (입력할 수 있는 문자 세트)
instanceName.embedFonts = false;             // (장치 글꼴 사용 여부)
instanceName.password = false;               // (****표시)
instanceName._visible =  true;               // (보임/안보임.  false로 설정된 텍스트 필드는 사용할 수 없음)
instanceName.scroll = 0;                     // (현재 스크롤 수직 위치)
instanceName.hscroll = 0;                    // (현재 스크롤 수평 위치)
instanceName.maxscroll = 0;                  // (TextField.scroll의 최대값)
instanceName.maxhscroll = 0;                 // (TextField.hscroll의 최대값)
instanceName.text = "";                      // (글자)

myformat = new TextFormat();                 // 텍스트 필드의 기본 TextFormat 속성
myformat.align = "left";                     // (단락의 정렬 )
myformat.blockIndent  = 0;                   // (왼쪽 여백에서 블록 들여쓰기. 포인트 단위)
myformat.indent  = 0;                        // (왼쪽 여백에서 단락 들여쓰기. 각 단락의 첫 줄에만 적용)
myformat.bold = false;                       // (텍스트가 굵은체로 표시되는지 여부)
myformat.bullet = false;                     // (텍스트가 불릿 목록에 있는지 여부 * 표시)
myformat.color  = 0x000000;                  // (텍스트의 색상)
myformat.font = "Times New Roman";           // (텍스트의 글꼴)
myformat.italic = false;                     // (텍스트가 기울임체로 표시되는지 여부)
myformat.leading  = 0;                       // (줄 사이의 행간 세로 간격)
myformat.leftMargin  = 0;                    // (단락의 왼쪽 여백 포인트 단위)
myformat.rightMargin  = 0;                   // (단락의 오른쪽 여백 포인트 단위)
myformat.tabStops = [];                      // (사용자 정의 탭 중지를 지정 // (empty array))
myformat.target = "";                        // (브라우저에서 하이퍼링크가 표시되는 창)
myformat.size = 12; // (텍스트의 크기)
myformat.underline = false;                  // (텍스트에 밑줄이 그어졌는지 여부)
myformat.url = ""; // (텍스트가 링크되는 URL)

instanceName.text = "this is my test field \r aaa" + "bbb";    // 텍스트에 내용 넣기
instanceName.setTextFormat(myformat);        //  텍스트 필드의 TextFormat  변경
----------------------------------------------------------------------------
instanceName.restrict = "A-Z 0-9";           // 대문자, 공백, 숫자만 입력할 수 있음
instanceName.restrict = "^a-z";              // 소문자를 제외한 모든 문자를 입력
instanceName.restrict = "A-Z^Q";             // 대문자 Q를 제외한 대문자만 입력
instanceName.restrict = "\\-"                // 마이너스 부호 (-) 만 입력
----------------------------------------------------------------------------
aa.html = true; // html 태그 사용 (b)
aa.htmlText = "<b> this is bold text </b>";
----------------------------------------------------------------------------
aa.html = true; // html 태그 사용 (table)
aa.htmlText = "";
aa.htmlText += " <table id='ttt' border='1'> <tr> <td> 테이블의 텍스트1 </td> ";
aa.htmlText += " <td> 테이블의 텍스트2 </td> </tr> </table> ";
aa.htmlText += " <a href=' ' > 이동 하기 </a> ";
----------------------------------------------------------------------------
function Func(arg){  trace ("You clicked me!  Argument was "+arg);   }; 
aa.html = true; // html 태그 사용 (asfunction)
aa.htmlText = "<A HREF=\"asfunction:Func,Foo \"> Click </A>"; 
----------------------------------------------------------------------------
on (release) {TextField.hscroll += 1; }      // 텍스트를 수평으로 스크롤
on (release) {TextField.scroll += 1;  }      // 텍스트를 수직으로 스크롤
x = TextField.maxscroll;                     // 총 줄수를 표시
----------------------------------------------------------------------------
TextField.onSetFocus = function(){           // 텍스트 입력 (텍스트필드 속성이 입력일때)
    this.text=" input data ";                 // 마우스 클릭시 내용 자동 입력
};
----------------------------------------------------------------------------
// aaa 와 bbb 란 두개의 텍스트 필드를 만든후
aaa.text="1234567890"
Selection.setFocus("aaa");              // 텍스트 모든 문자 포커스. 문자 없으면 커서 깜박
Selection.setSelection(2,5);            // (시작점, 끝점).  결과는 "345" 포커스
bbb.text = Selection.getBeginInde


제발 도와주세요..플래시제작

... kr/ 여기에 들어갔을때 ENTER 변하는 플래시하고요 이거 클릭해서 들어갔을떄 처음에 점점 생기는 로고요 (그림그리는 것처럼) 플래시 제작하는 방법좀...

플래시 제작하는 방법

안녕하세요 플새시 제작은 어떻게하나요? 또 제작에 필요한 프로그램은 무엇이고 사용법은 무엇이죠? 자세히 알려주세요. 이게 마음에 드실지.......

간단한 플래시 제작 방법에 대해...

저기..플래시 제작은 한번도 안해본 왕초보인데요. 대충 여기저길 보니 플래시 제작에는 게임제작..등등 여러가지가 있던데요. 전 왜 여러 사진이 교대로 나와 동영상처럼...

들어가는 플래시 제작하는 좋은 방법

... 효과적인 용량 줄이기 방법, 혹은 스크립트를 이용하여 트위닝을 일일이 주지 않고 애니할 방법 등 효과적인 방법을 안내해 주시면 무조건 좋습니다. 고수님들 제발 도움...

플래시제작회사

플래시 제작회사 플래시의 성격 플래시의 화면구성 프레임 보는 방법 화살표선택도구의 사용 이미지회전 이미지크기 변경 라인툴의 사용방법 펜툴의 사용방법...

이런 플래시 제작 방법

... 그리고 사진으로 프로그램 사용 방법도 가르쳐 주시면 더 감사하겠습니다.... 그리고 사용방법은... 너무 길기 때문에, 플래시 강좌 사이트인 투맨의 기초 강좌를...

[내공30] 초간단한 플래시 제작방법을...

... 1.Photoshop 2.Illustrator 3.flash --여기까지가 봐줄만한 플래시 제작을 위한 최소한의 프로그램. 4.dreamweaver or namo 5.swish 6.effter effects 7.premiere . . . . --등등은......응용을 위한...