반응형
# 이벤트 리스너 등록시 함수의 매개변수는 어떻게 사용하는가?
레퍼런스에 보면 이벤트 리스너 등록해야 하는 이벤트에 매개변수가 적혀있다. 그 매개변수는 사용자 함수와 다르게 이벤트가 발생하면 그에 따라 자동으로 전달 되는 매개변수로 그 매개변수의 위치에 이름을 적고 그 이름으로 활용하면 된다.
=> 이벤트 이스너의 파라미터는 내가 전달하는 것이 아니라 주어진 값을 사용하는 것이다.
 
# 이벤트 리스너 사용방법
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

+ Recent posts