Point 객체 사용

Flash Player 9 이상, Adobe AIR 1.0 이상

Point 객체는 직교 좌표 쌍을 정의합니다. 이 객체는 2차원 좌표계에서의 위치를 나타냅니다. 여기에서 x 는 가로 축을 나타내고 y 는 세로 축을 나타냅니다.

Point 객체를 정의하려면 다음과 같이 x y 속성을 설정해야 합니다.

import flash.geom.*; 
var pt1:Point = new Point(10, 20); // x == 10; y == 20 
var pt2:Point = new Point(); 
pt2.x = 10; 
pt2.y = 20;

두 점 사이의 거리 확인

Point 클래스의 distance() 메서드를 사용하면 좌표 공간에서 두 점 사이의 거리를 확인할 수 있습니다. 예를 들어 다음 코드에서는 같은 표시 객체 컨테이너에 있는 두 표시 객체( circle1 circle2 )의 등록 포인트 사이의 거리를 확인합니다.

import flash.geom.*; 
var pt1:Point = new Point(circle1.x, circle1.y); 
var pt2:Point = new Point(circle2.x, circle2.y); 
var distance:Number = Point.distance(pt1, pt2);

좌표 공간 평행 이동

두 표시 객체가 서로 다른 표시 객체 컨테이너에 있는 경우에는 객체가 서로 다른 좌표 공간에 있을 수 있습니다. 이런 경우 DisplayObject 클래스의 localToGlobal() 메서드를 사용하여 좌표를 스테이지의 전역 좌표 공간으로 평행 이동할 수 있습니다. 예를 들어 다음 코드에서는 서로 다른 표시 객체 컨테이너에 있는 두 표시 객체( circle1 circle2 )의 등록 포인트 사이의 거리를 확인합니다.

import flash.geom.*; 
var pt1:Point = new Point(circle1.x, circle1.y); 
pt1 = circle1.localToGlobal(pt1); 
var pt2:Point = new Point(circle2.x, circle2.y); 
pt2 = circle2.localToGlobal(pt2); 
var distance:Number = Point.distance(pt1, pt2);

마찬가지로 스테이지의 특정 지점으로부터 target 이라는 표시 객체의 등록 지점 거리를 확인하려면 DisplayObject 클래스의 localToGlobal() 메서드를 사용합니다.

import flash.geom.*; 
var stageCenter:Point = new Point(); 
stageCenter.x = this.stage.stageWidth / 2; 
stageCenter.y = this.stage.stageHeight / 2; 
var targetCenter:Point = new Point(target.x, target.y); 
targetCenter = target.localToGlobal(targetCenter); 
var distance:Number = Point.distance(stageCenter, targetCenter);

각도 및 거리를 지정하여 표시 객체 이동

Point 클래스의 polar() 메서드를 사용하면 표시 객체를 특정 각도 및 거리만큼 이동할 수 있습니다. 예를 들어 다음 코드에서는 myDisplayObject 객체를 60° 방향으로 100 픽셀만큼 이동합니다.

import flash.geom.*; 
var distance:Number = 100; 
var angle:Number = 2 * Math.PI * (90 / 360); 
var translatePoint:Point = Point.polar(distance, angle); 
myDisplayObject.x += translatePoint.x; 
myDisplayObject.y += translatePoint.y;

Point 클래스의 다른 사용 방법

다음과 같은 메서드 및 속성과 함께 Point 객체를 사용할 수 있습니다.

클래스

메서드 또는 속성

설명

DisplayObjectContainer

areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()

표시 객체 컨테이너 내의 지점에서 객체 목록을 반환하는 데 사용됩니다.

BitmapData

hitTest()

BitmapData 객체 내의 픽셀 및 히트 검사 대상 지점을 정의하는 데 사용됩니다.

BitmapData

applyFilter()

copyChannel()

merge()

paletteMap()

pixelDissolve()

threshold()

작업을 정의하는 사각형 위치를 정의하는 데 사용됩니다.

Matrix

deltaTransformPoint()

transformPoint()

변환을 적용할 지점을 정의하는 데 사용됩니다.

Rectangle

bottomRight

size

topLeft

이러한 속성을 정의하는 데 사용됩니다.