Point
nesnesi bir kartezyan koordinatı çifti tanımlar. İki boyutlu koordinat sisteminde konumu temsil eder, burada
x
yatay ekseni temsil ederken
y
de dikey ekseni temsil eder.
Bir Point nesnesini tanımlamak için, nesnenin
x
ve
y
özelliklerini şu şekilde ayarlarsınız:
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;
İki nokta arasındaki mesafeyi bulma
Koordinat alanında iki nokta arasındaki mesafeyi bulmak için, Point sınıfının
distance()
yöntemini kullanabilirsiniz. Örneğin, aşağıdaki kod, aynı görüntüleme nesnesi kabında bulunan
circle1
ve
circle2
adındaki iki görüntüleme nesnesinin kayıt noktaları arasındaki mesafeyi bulur:
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);
Koordinat alanlarını çevirme
İki görüntüleme nesnesi, farklı görüntüleme nesnesi kabındaysa, bunlar farklı koordinat aralıklarında olabilir. Koordinatları Sahne Alanı'nın koordinat alanıyla aynı (genel) koordinat alanına çevirmek için, DisplayObject sınıfının
localToGlobal()
yöntemini kullanabilirsiniz. Örneğin, aşağıdaki kod, farklı görüntüleme nesnesi kaplarında bulunan
circle1
ve
circle2
adındaki iki görüntüleme nesnesinin kayıt noktaları arasındaki mesafeyi bulur:
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);
Aynı şekilde, Sahne Alanı üzerindeki belirli bir noktadan
target
adındaki bir görüntüleme nesnesinin kayıt noktası arasındaki mesafeyi bulmak için, DisplayObject sınıfının
localToGlobal()
yöntemini kullanabilirsiniz:
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);
Görüntüleme nesnesini belirtilen bir açıya ve mesafeye göre taşıma
Görüntüleme nesnesini belirli bir açıya göre belirli bir mesafe boyunca taşımak için, Point sınıfının
polar()
yöntemini kullanabilirsiniz. Örneğin aşağıdaki kod
myDisplayObject
nesnesini 60°'den 100 piksel taşır.
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 sınıfının diğer kullanımları
Point nesnelerini şu yöntem ve özelliklerle kullanabilirsiniz:
Sınıf
|
Yöntemler veya özellikler
|
Açıklama
|
DisplayObjectContainer
|
areInaccessibleObjectsUnderPoint()getObjectsUnderPoint()
|
Görüntü nesnesi kabında bir noktanın altındaki nesnelerin listesini döndürmek için kullanılır.
|
BitmapData
|
hitTest()
|
Vuruş için kontrol ettiğiniz noktanın yanı sıra, BitmapData nesnesinde pikseli tanımlamak için kullanılır.
|
BitmapData
|
applyFilter()
copyChannel()
merge()
paletteMap()
pixelDissolve()
threshold()
|
İşlemleri tanımlayan dikdörtgen konumlarını tanımlamak için kullanılır.
|
Matris
|
deltaTransformPoint()
transformPoint()
|
Dönüştürme uygulamak istediğiniz noktaları tanımlamak için kullanılır.
|
Rectangle
|
bottomRight
size
topLeft
|
Bu özellikleri tanımlamak için kullanılır.
|
|
|
|