반응형
 
# 한글은 2바이트 문자지만 문자열 길이를 구하면 1개로 계산된다.
길이를 구하면 한칸 한칸 구한다.
 
# 색상 변경하기
import flash.geom.ColorTransform;
import flash.geom.Transform;
var c:ColorTransform = new ColorTransform(); //객체 생성
c.rgb = 0x000000; //객체 속성 변경
var ccc:Transform = new Transform(cc); //cc(대상무비클립)으로 객체 생성
ccc.colorTransform = c; //값 적용
 
# 라인은 마스크 영역으로 지정해도 나타나지 않는다.
 
# 인스턴스 이름을 숫자로 지정해도 배열접근 연산자로 접근하면 오류가 발생하지 않는다.
 
# 컴포넌트 스킨 수정하기
C:\Program Files\Macromedia\Flash 8\en\Configuration\ComponentFLA\StandardComponents.fla
이 파일을 열고 라이브러리에 해당 컴포넌트의 asset들이 있습니다. 그 asset중 하나를 현재 작업하시는 파일의 라이브러리에 등록해서.. 수정하면 됨.

 
# 클래스 패키지 경로
C:\Program Files\Macromedia\Flash 8\ko\First Run\Classes\FP8
 
# 컴파일시 사용되는 클래스
 C:\Documents and Settings\ecj2000\Local Settings\Application Data\Macromedia\Flash 8\en\Configuration\Classes\mx\events\
 
 
# loadMovie() 시에 _root 지정하기
메인에 _global.root = this;
서브에 this._lockroot = true;
 
# (용어) 미들웨어
기본적으로 미들웨어는 애플리케이션들을 연결해 이들이 서로 데이터를 교환할 수 있게 해 주는 소프트웨어다. 미들웨어는 애플리케이션들을 직접 연결하는 방식에 비해 몇 가지 중요한 이점이 있다. 애플리케이션들을 직접 연결할 경우, 일반적으로 관련된 애플리케이션 모두에 코드를 추가해 각 애플리케이션이 서로 대화하도록 지시해야만 한다. 반면 미들웨어는 이 대화 과정에서 번역기라는 독립적인 제3자의 역할을 함으로써 애플리케이션 모두에 코드를 추가하는 엄청난 작업을 할 필요가 없다.
 
# 클래스 내의 this의 경로는?
클래스 자신을 가리킨다. 인스턴스를 가리키지 않는다.
 
# 무비클립과 그래픽 심볼의 차이점
무비클립은 메인타임라인과 독립적으로 플래이 하지만 그래픽은 메인 타임과 동기화된다.
재사용성의 관점에서는 둘다 똑같이 용량은 늘어나지 않는다.
그래픽과 무비클립 모두 attachMovie 가능하다.
 
# for문은 반복할 때마다 조건을 '연산'한다.
즉, 조건에 어떤 연산이 있으면 계속 수행한다.
for(var i=0; Array._lenghth; i++) { code } //매번 Array._lenghth를 계산하기 때문에 변수에 저장하여 사용하는게 효율적이다.
 
# 컴포넌트의 이벤트
EventDispatcher에서 참고
 
# movieclip.filters
movieclip.filters는 타입이 배열이다.
Flash 제작 도구 내의 필터는 디자인 타임 또는 런타임에 ActionScript 코드를 사용하여 적용할 수 있습니다. ActionScript를 사용하여 필터를 적용하려면 전체 MovieClip.filters 배열의 임시 복사본을 만들고, 임시 배열을 수정한 다음 MovieClip.filters 배열에 임시 배열의 값을 다시 지정합니다. 새 filter 객체를 MovieClip.filters 배열에 직접 추가할 수는 없습니다. 다음 코드는 myMC라는 대상 무비 클립에 아무런 영향을 주지 않습니다
추가하거나 기존의 필터에 있는 속성을 변경 할 수 있지만 반드시 임시본에 저장 후 작업해야 한다.

ActionScript를 사용하여 필터를 추가하려면 다음 단계를 수행해야 합니다(대상 무비 클립이 myMC라고 가정).

  • 선택한 filter 클래스의 생성자 함수를 사용하여 새로운 filter 객체를 만듭니다.
  • myMC.filters 배열의 값을 myFilters 등의 임시 배열에 지정합니다.
  • 새 filter 객체를 임시 배열 myFilters에 추가합니다.
  • 임시 배열의 값을 myMC.filters 배열에 지정합니다.

다음 예제에서는 myMC라는 무비 클립 인스턴스에 그림자 필터를 추가합니다.

var myDropFilter = new flash.filters.DropShadowFilter();
var myFilters:Array = myMC.filters;
myFilters.push(myDropFilter);
myMC.filters = myFilters;

다음 예제에서는 배열에 있는 첫 번째 필터의 quality 설정을 15로 변경합니다. 이 예제는 하나 이상의 filter 객체가 myMC 무비 클립과 연결되어 있는 경우에만 해당됩니다.

var myList:Array = myMC.filters;
myList[0].quality = 15;
myMC.filters = myList;
# toString()
값을 String 형으로 변화시킨다.
obj.속성.toString()
 
 
# null과 undifined 의 차이점
 
null 데이터 유형
null 데이터 유형에는 null이라는 단 하나의 값만 있습니다. 이 값은 값 없음 즉, 데이터가 없음을 의미합니다. 다양한 상황에서 속성이나 변수에 아직 값을 지정하지 않았음을 나타내기 위해 null 값을 지정할 수 있습니다. 예를 들어, 다음과 같은 경우에 null 값을 지정할 수 있습니다.
  • 변수가 있지만 아직 값을 받지 못했음을 나타낼 경우
  • 변수가 있지만 더 이상 값이 없음을 나타낼 경우
  • 함수의 반환 값으로서 함수가 어떠한 값도 반환할 수 없음을 나타내는 경우
  • 함수의 매개 변수로서 매개 변수가 생략되었음을 나타내는 경우

undefined 데이터 유형에는 undefined라는 단 하나의 값만 있으며 이 데이터 유형은 값이 지정되지 않은 변수에 코드나 사용자 상호 작용에 의해 자동으로 지정됩니다.

undefined 데이터 유형
undefined 값은 자동으로 지정됩니다. null과 달리 변수나 속성에 undefined를 지정하지 않습니다. undefined 데이터 유형을 사용하여 변수가 설정되거나 정의되었는지 확인합니다. 이 데이터 유형을 사용하면 다음 예제와 같이 응용 프로그램이 실행 중인 경우에만 실행되는 코드를 작성할 수 있습니다.
if (init == undefined) {
trace("initializing app");
init = true;
}

응용 프로그램에 프레임이 여러 개인 경우 두 번째에는 init 변수가 더 이상 undefined가 아니므로 코드가 실행되지 않습니다.

# 캐스팅이란?
컴파일러가 데이터타입 검사를 할 때 서로다른 데이터타입에서 오류가 나지 않게 잠시 데이터타입을 바꿔주는 것.
코드의 명확성을 해치기 때문에 권장되지 않는다.
 
# var obj:Object = [1,2,3,]
이것이 가능하다. Object는 최상위 객체이기 때문에 배열이 저장가능하고
값을 호출할 때도 배열과 같이 [](배열접근연산자)를 사용한다.
단, var obj1:Object = {}; 이렇게 사용할 때는 식별자와 값을 갖이 넣어줘야 한다.
var obj1:Object = {p:1, p2:2, ... };
 
# trace(TextField.getFontList());
시스템에 설치되어있는 폰트리스트
 
# isNaN();
전역함수

isNaN(expression:Object) : Boolean

매개 변수를 평가하고 값이 NaN(숫자가 아님)이면 true를 반환합니다. 이 함수는 수학적 표현식이 숫자로 제대로 평가되는지 여부를 검사하는 데 유용합니다.

 
# 플래시 디버거 방법
필요한 것
1. 디버그 가능 플래시 플레이어
2. 플래시 프로그램
 
설정
1. 플래시 플레이어 디버그 버전 설치
2. 플래시 프로그램에서 원격 디버그 허용 체크
3. 환경설정에서 디버그 기능사용에 체크
 
사용
1. 플래시 어플 실행
2. 브라우저에서 플래시 실행
3. 플래시 어플에서 확인

# setInterval의 파라미터
번째 파라미터는 콜백함수에 전달되는 파라미터이다.
반응형

'Flash Story' 카테고리의 다른 글

Flex 클래스 바인딩 시키기  (2) 2009.06.12
매일 플래시 액션스크립트 - 8  (0) 2007.03.22
매일 플래시 액션스크립트 - 7  (0) 2007.03.21
반응형
# Array
Array.sort(): 간단한 정렬
Array.sortOn(): 배열 요소가 객체일 경우 객체의 속성별로 정렬할 수 있음.
-> 정렬 방식을 지정하는 속성으로 여러 정렬방식을 선택할 수 있음.
 
# {} 객체 이니셜라이저 연산자
지정된 name 및 value 속성 쌍으로 새 객체를 만들거나 초기화합니다. 이 연산자를 사용하면 new Object 구문을 사용하고 대입 연산자를 사용하여 속성 쌍을 채우는 것과 동일한 결과가 됩니다. 새로 만들어진 객체의 프로토타입은 일반적으로 Object 객체로 이름이 지정됩니다.
 
var obj:Object = new Object();
obj.value1 = "a";
obj.value2 = "b";
 
//위의 내용과 동일 한 결과를 간단히 쓸 수 있다.
{value1:"a", value2:"b"} // 객체를 반환한다.
 
? - '이니셜라이저'가 무슨 뜻이지?
 
# for in
객체의 속성이나 배열 요소를 반복 실행
for(var value in Object) { trace(value) }
// 객체와 속성의 개수 만큼 반복실행하며 속성 이름을 value위치에 보내줌.
// 객체의 속성 개수 만큼 반복실행할 명령이 있는 경우 사용.
 
# _scale=0 과 _width=0
둘다 안보이는 것은 마찬가지지만 _scale로 크기를 조절하면 처음 크기를 저장해 놓을 필요가 없다. 상황에 따라 둘중 골라 사용...
 
# attachMovie()
attachMovie() 로 무비 생성하면 처음 좌표는? _x:0, _y:0
attachMovie(Id, name, depth, {속성:값}) // 네번째 매개변수로 객체를 넣으면 그 속성을 복사한다. 따라서 새로운 변수를 넣는것 뿐만이아니라 _x, _y, _xscale... 등등의 속성도 변화 시킬 수 있다.
 
# 플래시 템플릿 사용
자주 사용하는 양식을 '템플릿으로 저장'을 해 놓으면 계속 편리하게 사용할 수 있다.
 
# 배열과 객체
- 객체 내의 속성에 접근할 때는 .연산자를 사용해야 한다.
- 배열에 저장된 객체의 속성에 접근 할 때(다차원 배열과 비슷한 상태)는 .과 [] 둘다 사용가능하다.
- 연관 배열 생성
  - > 객체에서는 속성에 값을 입력하기 위해 .연산자를 이용
  - > 배열은  array["a"] = "a"; 이런식으로 가능함.
  - > 배열도 객체와 같이 생성가능
 
# 항상 this 참조하기
무비클립 첫 프레임에 var owner:MovieClip = this; 이렇게 자신의 참조값을 갖는 변수 설정하고
owner로 사용하면 편리하다.
 
# ?: 조건 연산자
var result = (x == y) ? ex2 : ex3 // x와 y가 같으면 ex2를 반환, 다르면 ex3반환
 
# substr(index, length)
index 위치에서 length만큼의 글자 반환
 
# charCodeAt(index)
index가 지정하는 문자를 나타내는 0에서 65535 사이의 16비트 정수를 반환합니다.
a: 97반환 , 이걸 이용해서 알파벳에서 인덱스 번호를 만들어 활용할 수 있다.
String.charCodeAt(index) - 97 // a==0, b==1 인 인덱스를 만들 수 있다.
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 9  (0) 2007.08.14
매일 플래시 액션스크립트 - 7  (0) 2007.03.21
매일 플래시 액션스크립트 - 6  (0) 2007.03.20
반응형
# 이벤트 리스너 등록시 함수의 매개변수는 어떻게 사용하는가?
레퍼런스에 보면 이벤트 리스너 등록해야 하는 이벤트에 매개변수가 적혀있다. 그 매개변수는 사용자 함수와 다르게 이벤트가 발생하면 그에 따라 자동으로 전달 되는 매개변수로 그 매개변수의 위치에 이름을 적고 그 이름으로 활용하면 된다.
=> 이벤트 이스너의 파라미터는 내가 전달하는 것이 아니라 주어진 값을 사용하는 것이다.
 
# 이벤트 리스너 사용방법
1. 브로드캐스터 객체가 생성할 이벤트의 이름과 동일한 속성 이름을 가진 리스너 객체를 생성합니다.
2. 해당 이벤트에 응답하는 이벤트 리스너에 함수를 지정합니다
3. 이벤트를 발생시키는 객체에 addListener() 메서드를 호출하고 이 객체에 리스너 객체의 이름을 전달합니다.
=> 이벤트를 발생시키는 객체가 브로드캐스터 객체 이여야 한다.
 
# 브로드캐스터 객체는 어떤 것들이 있나?
이벤트 리스너를 이용할 수 있는 ActionScript 클래스의 객체로는
Key, Mouse, MovieClipLoader, Selection, TextField 및 Stage
 
# 각 브로드캐스터 객체의 이벤트들...
< Key >
onKeyDown = function() {} //키가 눌러지면 알려 줍니다.
onKeyUp = function() {} //마우스에서 키가 놓여질 때 알려 줍니다.
 
< Mouse >
onMouseDown = function() {} //마우스를 누를 때 알려 줍니다.
onMouseMove = function() {} //마우스를 이동할 때 알려 줍니다.
onMouseUp = function() {}  //마우스 버튼을 놓을 때 알려 줍니다.
onMouseWheel = function([delta:Number], [scrollTarget:String]) {} //사용자가 마우스 휠을 굴릴 때 알려 줍니다.
 
< MovieClipLoader >
onLoadComplete = function([target_mc:MovieClip], [httpStatus:Number]) {}
// MovieClipLoader.loadClip()을 사용하여 로드된 파일이 완전히 다운로드될 때 호출됩니다.
 
onLoadError = function(target_mc:MovieClip, errorCode:String, [httpStatus:Number]) {}
// MovieClipLoader.loadClip()을 사용하여 로드한 파일의 로드 작업이 실패했을 때 호출됩니다.
 
onLoadInit = function([target_mc:MovieClip]) {}
// 로드된 클립의 첫 번째 프레임에서 액션이 실행되었을 때 호출됩니다.
 
onLoadProgress = function([target_mc:MovieClip], loadedBytes:Number, totalBytes:Number) {}
// 로드 과정(즉, MovieClipLoader.onLoadStartMovieClipLoader.onLoadComplete 사이)에서 로드하는 내용이 하드 디스크에 기록될 때마다 호출됩니다.
 
onLoadStart = function([target_mc:MovieClip]) {}
// MovieClipLoader.loadClip()을 호출하여 파일의 다운로드가 시작될 때 호출됩니다.
 
< Selection >
onSetFocus = function([oldfocus:Object], [newfocus:Object]) {} // 입력 포커스가 변경될 때 알립니다.
 
< Textfield >
onChanged = function(changedField:TextField) {}
// 이벤트 핸들러/리스너; 텍스트 필드의 내용이 변경될 때 호출됩니다.
 
onKillFocus = function(newFocus:Object) {}
// 텍스트 필드에서 키보드 포커스를 잃을 때 호출됩니다.
 
onScroller = function(scrolledField:TextField) {}
// 이벤트 핸들러/리스너; 텍스트 필드 스크롤 속성 중 하나가 변경될 때 호출됩니다.
 
onSetFocus = function(oldFocus:Object) {}
// 텍스트 필드가 키보드 포커스를 받을 때 호출됩니다.
 
< Stage >
onResize = function() {}
// Stage.scaleMode가 noScale로 설정되어 있고 SWF 파일의 크기가 조절될 때 호출됩니다.
 
# 이벤트 리스너에서 경로는?
함수로 기술되기 때문에 작성한 곳이 기준이 된다.
작성한 곳에 있는 변수들은 바로 접근이 가능하고 이벤트 리스너 함수내에서 this를 호출하면 이벤트가 등록된 객체를 참조한다. 이벤트를 발생시키는(브로드캐스터 객체)가 아니다!!!
 
# 텍스트 박스내의 텍스트로의 접근
이제 더이상 변수이름으로 접근하는 방식은 잊어버리자.
텍스트 필드에 인스턴스 이름을 정해주고 .text라는 속성으로 접근하자
예) text_txt.text = "변경";
 
# 코드 힌트 표시
var a:Object 등으로 데이터 유형을 지정하면 다음에 a.을 사용하면 :Object에 맞는 매서드와 속성이 힌트로 표시된다.
var a:Object 이런 식으로 작성을 해야 다음에 a만 써도 힌트가 나온다.
a = new Object() 이런 식은 나오지 않는다. 반드시 var와 데이터유형을 지정해야 한다.
인스턴스명의 접미사는 데이터 지정없이 바로 힌트가 표시된다.
 
# Math.round
가장 가까운 정수를 올리거나 내려줌.
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 8  (0) 2007.03.22
매일 플래시 액션스크립트 - 6  (0) 2007.03.20
매일 플래시 액션스크립트 - 5  (0) 2007.03.19
반응형
# 버튼화된 무비클립의 히트영역
-> 무비클립안에 있는 텍스트 상자에 따른 히트영역
  1. 텍스트 상자가 정적텍스트일 경우: 글자의 외곽선 기준으로 히트영역 설정 됨
  2. 텍스트 상자가 동적텍스트일 경우: 텍스트 상자 자체가 히트영역이 됨.
  3. 텍스트 상자가 입력텍스트일 경우: 상동.
  4. 무비클립안에 알파값 0인 상자있을 경우: 상자 영역만큼 히트영역 설정
      (단, _visible=false 이면 설정영역 없어짐.)
 
-> 히트영역이 무비클립의 좌표에 영향을 미치는가?
  : 무비클립의 좌표는 해당 무비클립의 기준점을 기준으로 설정되기에 히트영역이 좌표에 영향을 미치는지는 관계없다.
 
# (수학) 단위변경 방법
- 목표단위를 곱할때는 처음단위의 최소단위를 곱해준다.
- 양변의 단위를 통일한다.(단위를 곱하고 나눠서 통일한다.)
- 단위는 숫자에 기호숫자(단위)를 곱해준 형식이다.
- 단위 사이의 법칙(비율)을 알면 단위를 통일 할 수 있다.
 
# (수학) 호도법(radian)과 60분법(degree)의 관계
- 180˚ = Math.PI * radian
- 1radian = 180˚ / Math.PI
- 1˚ = Math.PI * radian / 180˚
- degree를 radian으로 나타낼 때는 Math.PI를 x˚의 180에 대한 비율을 곱하면 구할 수 있다.
- 그 반대의 경우 radian에 180/Math.PI(PI에 대한 180의 비율)을 곱하면 된다.

# (수학) 두 점사이의 거리 구하기
- Math.sqrt( (x2-x1) * (y2-y1) )
 
# (용어) 프로지저(procedure)
- 함수와 같지만 return 값을 반환하지 않는 것.
 
1. 프로그래밍에서, 프로시저는 루틴이나, 서브루틴 및 함수와 같은 뜻이다. 하나의 프로시저는 특정 작업을 수행하기 위한 프로그램의 일부이다.
2. 일반적인 의미의 프로시저란, 어떤 행동을 수행하기 위한 일련의 작업 순서를 말한다.
 
# (용어) Win32 API
Win32 API란 32bit 윈도우 운영체제 내에서 동작 가능한 프로그램을 개발하기 위해 기본적으로 제공되는 함수의 구조체, 타입 등의 집합을 의미합니다. 따라서, 어떠한 프로그램을 만든다는 의미는 곧 API내의 특정 함수, 타입을 이용하여 코딩을 하는 행위로 생각해 볼 수 있습니다.
 
# (용어) MFC
MFC(Microsoft Foundation Class)는 윈도우 어플리케이션을 생성하기 위해 만들어진 C++ 클래스 라이브러리입니다.
프로그램 개발 시간을 크게 단축시켜 줌으로써 기존의 Win32 API를 이용한 프로그램 제작시 개발자 스스로가 도맡아 해오던 수많은 실행 함수에 대한 코딩의 번거로움을 개선
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 7  (0) 2007.03.21
매일 플래시 액션스크립트 - 5  (0) 2007.03.19
매일 플래시 액션스크립트 - 4  (0) 2007.03.18
반응형
# (용어) 코드 템플렛
코드를 간단하게 입력할 수 있는 단축키 같은 것. 보통 텍스트 에디터인 울트라 에디트나 에디트 플러스 등에서 코딩을 쉽게 하기 위해 지원한다.

# (HTML) <input>버튼으로 페이지 이동하기
<input type="button" value= "button"onClick="location.href= 'http://www.naver.com'">

# (용어) 패키지
플래시에서 제공하는 클래스 모음. 여러가지 효과들이 있다.

# 이벤트
이벤트는 컴퓨터 내부적으로 일어나는 사건 및 사용자의 반응(행동)에 따라 일어나는 사건을 말한다. 시간이 흘러간다, 마우스로 클릭했다, 마우스 이동했다, 키보드를 눌렀다. 무엇을 변경시켰다 등등을 이벤트라고 한다.

# 이벤트 핸들러
이벤트가 일어났을 때 지정된 행동(프로그램 코드)을 수행하도록 해당 이벤트에 행동을 지정하는 것이 이벤트 핸들러다.

# 이벤트와 리스너
이벤트 핸들러는 각 객체마다 이미 이벤트가 정해져 있고 그에 따른 행동을 개발자가 지정하는 방식인 반면 이벤트 리스너 방식은 객체에 직접 이벤트와 그 이벤트에 따른 행동을 지정하는 방식이다. 이벤트 리스너가 최근방식이고 동적인 이벤트 핸들러의 추가 및 같은 이벤트에 여러 행도을 지정할 수 있다. 빨리 익숙해져야 겠다.

-> 사용방법
1. 이벤트를 받을 객체를 생성하고
2. 객체에 이벤트와 그에 따라 실행될 함수를 콜백함수 형식으로 작성한다.
3. 이벤트가 일어나는 객체에 addListener로 등록한다.
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 6  (0) 2007.03.20
매일 플래시 액션스크립트 - 4  (0) 2007.03.18
매일 플래시 액션스크립트 - 3  (0) 2007.03.17
반응형
# 플래시에서 삭제할 수 있는 인스턴스의 최상위 뎁스는?
1048575 라고 한다. 어떤 의미인지는 잘 모르겠지만 이 이상의 뎁스번호를 갖고 있는 인스턴스는 삭제가 되지 않는다고 한다.

# 여유클래스란?
Tween을 사용할 때 효과를 지정하는 클래스라고 생각하면 될듯하다.
점점 빠르게, 점점 느리게,... 등등의 효과를 지정해주는 클래스 패키지를 말하는 듯... 왜 여유클래스라고 하는지 정확한 뜻은 찾을 수가 없다.

# import로 전체를 가져와도 사용되지 않은 클래스는 swf파일에 포함되지 않는다.

보통 Blurfiler를 사용할 때 정확히는 flash.filters.Blurfilter 이지만 flash.filters.*로 filter 패키지에 있는 클래서 전부를 가져온다. 하지만 swf로 컴파일 시에는 사용되지 않는 클래스는 포함이 안된다고 하니 전체다 가져와서 이것져것 사용해보면서 여러 효과를 연구하는 것이 더 좋은 방법인듯하다.

# 패키지 모음
  -> mx/transition.* : 움직임을 만드는 easing 패키지를 포함하고 있으며, 화면전환 효과를 제어하는TransitionManager 클래스와 움직임을 제어하는 Tween 클래스 그리고 화면전환 효과를 생성하는 10개의 클래스가 들어있습니다
  -> flash.external.* : ExternalInterface 클래스 사용하기 위해 필요
  -> flash.display.* : BitmapData 클래스 사용 위해 필요
  -> flash.geom.Rectangle : Rectangle 클래스 사용 위해 필요
  -> flash.geom.ColorTransform : ColorTransform 클래스 사용 위해 필요
  -> flash.filters.* : 브럴효과를 위해 필요, Blurfilter 등등


# 레퍼런스에서 []는 선택사항이다.
레퍼런스를 보다보면 []로 둘러쌓인 것들이 있는데 입력해도되고 안해도 되는 파라미터를 말하는 경우이다.

# getNextHighestDepth()

현재 스테이지에 나와있는 오브젝트들의 Depths중에 가장 큰 Depths 에서 +1 한 값을 가져온다.
  -> 사용예) _root.aa.swapDepths(getNextHighestDepth()); // aa 가 젤 위에 있게된다.

# gettimer()
플래시 무비가 시작된 이후의 시간을 밀리초단위 반환, 전역함수

# MovieClipLoader
예전에는 loadMovie를 많이 사용했지만 전용 클래스가 생겼다.
MovieClipLoader는 로드의 시작과 종료, 진행, 오류까지 실시간으로 정보를 얻을 수 있다.
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 5  (0) 2007.03.19
매일 플래시 액션스크립트 - 3  (0) 2007.03.17
매일 플래시 액션스크립트 - 2  (0) 2007.03.16
반응형
# 플래시와 자바스크립트 통신
예전에는 FScommand로 통신했다고 한다. 어떻게 하는지는 잘 모르겠지만...
이제는 ExternalInterface라는 객체가 생겨서 편리하게 통신할 수 있다고 한다.

-> 플래시에서 자바스크립트 호출하기
: ExternalInterface.call("자바스크립트 함수", "매개변수");

-> 자바에서 플래시 함수 호출
:일단 플래시에서 호출 당할 함수를 지정하고 자바스크립트에서 그 함수를 호출하는 것이다.
1. 플래시: ExternalInterface.addCallback("호출이름", 인스턴스, "실제 실행함수");
2. HTML: <embed>와 <param> 태그에서 ID 및 name을 임의로 지정
3. 자바스크립트: 플래시 파일의 ID 또는 Name으로 접근 후 호출이름으로 호출함.
    - thisMovie("임의 이름").호출이름();

# 사용자 화면 해상도 알아내기
자바스크립트: window.screen.width  window.screen.height

# 브라우저 창 크기 및 위치 변경
크기 변경(자바스크립트): window.resizeTo(width, height)
위치 변경(자바스크립트): window.moveTo(X, Y)

부드럽게 이동시키려면 플래시에서 빠른 시간내에 계속적으로 변경시키면 된다. 보통 setInterval()을 사용하는 듯하다. 하지만 요즘은 탭방식의 브라우저를 많이 사용하기에 예전 처럼 팝업 창끼리 서로 통신하며 위치와 크기가 변경되는 무비는 의미가 없어지고 있다.

# 플래시 클릭안하고 바로 활성화 하기
요즘에는 플래시를 사용하려면 한번 클릭을 해야한다. '이 컨트롤을 활성화하여 사용하려면 클릭하십시오'라는 메시지가 나오고 클릭을 해줘야 플래시가 정상작동한다. 다른것도 귀찮지만 플래시메뉴라면 사용성에 치명적인 귀차니즘이 발생한다. 06년에부터 패치가 적용되서 익스플로러에서 이렇게 나오는데 여러 해결방법이 있지만 가장 좋은 방식은 역시 자바스크립트의 document.write()로 플래시를 넣는 <embed>와 <param>태그를 넣어 주는 것이다.
 -> <embed>와 <param>태그를 뿌려주는 함수가 작성된 .js파일을 작성하고 -> html에서 불러온다 -> 태그를 생성해주는 함수사용한다.

# 다이나믹 텍스트 필드의 크기를 변경했을 때 글자 스케일 변화하기
다이나믹 텍스트 필드의 세로만 변경시켰을 경우 글자가 홀죽해 지는 것이아니라 줄어든 영역만큼 글자가 짤린다. 이런 방식말고 전체 글자가 다 보이면서 홀죽하게 변경하려면 글자를 임베디드 시켜야 한다. 영문은 폰트용량이 얼마안돼서 별로 상관없지만 한글 폰트는 임베디드를 심각히 고려해야한다. 보통 100kb가 넘어가니...
그리고 정적텍스트를 애니매이션 옵션을 주면 폰트 임베디드 필요없이 크기에 따라서 글자 스케일이 변한다. 이것은 애니메이션 방식으로 지정하면 글꼴의 외곽선 정보를 저장하기 때문에 가능하다.(이것도 역시 외곽선정보만큼의 용량추가는 있다.)

# setInterval()이 반환하는 값은?
각각의 setInterval()을 식별할 수 있는 정수를 반환한다.
그래서  setInterval()을 종료해야 할 경우 이런 방식으로 사용한다.
-> intervalID = setInterval() // setInterval()을 실행하고 식별번호를 저장한다.
-> clearInterval(intervalID) // setInterval()을 종료한다.

그런데 여기서 intervalID에는 어떤 값이 저장될까?
그냥 정수가 저장된다. 1, 2, 3,... 등등...
따라서 단순하게 clearInterval(1) 이런식으로도 종료는 가능하다.

# <script type>과 <script language>는 어떻게 다른가?
예전 방식이 <script language="javascript">
현재 권장 방식이<script type="text/javascript"> 이다. 결국은 같지만 후자를 사용하는 것이 좋다는 말...
-> <script>태그로 둘러쌓일 내용이 텍스트인 자바스크립트이다.. 를 의미한다.라고 어느 블로그에서 본 것 같다.
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 4  (0) 2007.03.18
매일 플래시 액션스크립트 - 2  (0) 2007.03.16
매일 플래시 액션스크립트 - 1  (2) 2007.03.16
반응형
# if()에서 조건으로 함수를 넣으면 함수 실행이 완료된 후에 if(){}의 명령문이 실행된다.
function yesNo() {
  return true;
}
if ( yesNo() ) {...}
이렇게 하면 함수가 실행된 후 if(){}의 명령문이 실행된다. 함수 실행이 종료된 후에 명령어를 실행해야 할때 사용 할 수있다.

# 함수의 시작과 종료 시점을 출력한다.
함수를 작성할 때는 시작과 끝에 trace()문을 넣어서 언제 실행되고 언제 종료되는지 알 수 있게 하고 실행이 완료됐는지를 알려주는 return 값을 넣어 실행완료를 출력해야한다. 물론 리턴값이 없는 함수도 있지만 가능하면 리턴값을 반환하게 해서 정상실행 여부를 확인하도록 코딩습관을 들이자.

# attachMovie는 무비 생성 후 참조주소를 반환한다.
하지만 반환했다고 해서 생성된 인스턴스 내에 있는 액션까지 완료가 됐다는 것은 아니다. 무비클립은 생성했지만 그 무비클립은 생성된 후 첫 프래임이 실행된다. 하지만 attachMovie()는 생성만 되면 참조주소를 반환한다. 따라서 생성된 무비클립의 생성 후 액션 실행까지 완료 시점은 따로 리턴값을 주어야 한다.

# html에서 swf로 파라미터 전달
예전 방식
<embed>와 <param> 태그에 보면 플래시 파일 주소가 있는데 그곳에 URL에 변수 넘기는 GET방식 처럼 넘겼다.
-> test.swf?value1=123&value2=456

현재 방식
FlashVars라는 속성이 생겼다. 클래스 같은 것은 아닌 것 같고 <embed>와 <param>에서 flashvars라는 이름으로 넘어오는 속성의 값을 파라미터(변수)로 인식해서 사용할 수 있게 하는 것 같다.
-> <param name="flashvars" value="value1=123&value2=456">
-> <embed flashvars="value1=123&value2=456">
반응형

'Flash Story' 카테고리의 다른 글

매일 플래시 액션스크립트 - 4  (0) 2007.03.18
매일 플래시 액션스크립트 - 3  (0) 2007.03.17
매일 플래시 액션스크립트 - 1  (2) 2007.03.16

+ Recent posts