날이 오늘부터 본격적으로 추워진다는 소식에 월동대비로 우풍을 막기위해 창문을 비닐로 감쌌다. 효과는 꽤 훌륭한 편.

14/12/17 수

Flash CS4로 ActionScript 3.0의 array filter 메소드, 함수 테스트.
참고: Adobe ActionScript 3.0 Reference 중 Point class 항목

이전 코드에서 배열안에 null 값들이 있는 경우 제거하는 함수가 이해가 안되어 헤멨던 기억이 있는데 Array의 Filter 메소드에 호응하는 필터용 함수였다.
Array의 메소드인 filter는 함수를 사용해 말 그대로 배열을 필터링 할 수 있다.
대신 filter에서 불러오는 함수는 3개의 매개변수(배열의 원소, 배열의 인덱스 번호, 배열명)를 가지고 있어야 하고 반환값은 참, 거짓 값이어야 하는 듯 하다. 아래는 예제.

array filter 메소드, 함수 테스트 소스:

var arr:Array=[1,2,3,4,5];
function filterTest(element:*,index:uint,array:Array):Boolean{
     return (element != 2);
}
arr = arr.filter(filterTest);
trace(arr); //결과는 1,3,4,5가 된다.

function eraseNull(element:*,index:uint,array:Array):Boolean{
     return (element != null);
}
bulletArray = bulletArray.filter(eraseNull);
//bulletArray내에 null값을 갖고 있는 요소가 모두 제거된다.

Flash CS4로 ActionScript 3.0의 x, y 좌표 위치를 담을 수 있는 Point의 생성과 관련 메소드들 테스트.
참고: Adobe ActionScript 3.0 Reference 중 array class 항목

var yp = yPointM; //화면에 놓인 노란 점 무비클립
var rp = rPointM; //빨간 점 무비클립
var p1:Point=new Point();
var p2:Point=new Point(150, 200);
trace(p1, p2, p2.x, p2.y);
trace(Point.distance(p1, p2)); //p1과 p2 사이 거리 구하기
//p1과 p2의 중간 지점 구하기
trace("interpolate: ",Point.interpolate(p1, p2, 0.5));
yp.x = Point.interpolate(p1,p2,0.8).x;
yp.y = Point.interpolate(p1,p2,0.8).y;
rp.x = p2.x; rp.y = p2.y;//무비클립에 포인트 위치 대입
//반지름각도극좌표 위치 구해 대입하기.
yp.x = Point.polar(100, (90*Math.PI/180)).x; 
yp.y = Point.polar(100, (90*Math.PI/180)).y;

* 돈버는 법에 관해 상반된 모습을 그리고 있는 두가지 인상적인 창작물들.

- '건물 하나로 재벌이 되는 법': 장사하는 상가임차인들이 만든 동영상.
- '욕심쟁이 혹부리 영감의 자전거 공장': 고민중, 수사반장 작가의 올레마켓 단편 웹툰