Adobe Flex 3 ヘルプ

ジオメトリの基礎

ジオメトリの操作の概要

ジオメトリ(幾何学)について学んだことはあるものの、ほとんど忘れてしまったという人が多いかもしれませんが、少しでもジオメトリの知識があると ActionScript™ を使用する上で非常に役立ちます。

flash.geom パッケージには、ポイント、矩形、変換マトリックスなどのジオメトリオブジェクトを定義するクラスがあります。これらのクラス自体は、必ずしも機能を提供するものではなく、他のクラスで使用されるオブジェクトのプロパティを定義する際に使用します。

すべてのジオメトリクラスは、画面上の位置は 2 次元の面で表されるという概念に基づいています。画面は、水平(x)軸と垂直(y)軸を持つ平面のグラフのように扱われます。画面上の任意の位置(「ポイント」)は、x 値と y 値の組み合わせ、つまり「座標」で表すことができます。

ステージなどのすべての表示オブジェクトは、「座標空間」を持ちます。この座標空間が、子表示オブジェクトや描画などを配置するための、その表示オブジェクトにおけるグラフになります。通常は、「原点」(x 軸と y 軸が交わる座標 0, 0 の位置)は表示オブジェクトの左上隅になります。これはステージには常に当てはまりますが、他の表示オブジェクトには当てはまらない場合があります。標準の 2 次元座標系と同様に、x 軸の値が大きくなるほど右へ、小さくなるほど左へ移動します。原点の左側では x 座標は負の値になります。ただし、通常の座標系とは異なり、ActionScript では y 軸上の値が大きくなるほど画面の下へ、小さくなるほど上へ移動します。原点の上側では、y 座標は負の値になります。ステージの左上隅が座標空間の原点であるため、ステージ上のオブジェクトはいずれも x 座標が 0 より大きくなり、幅はステージよりも小さくなります。また、y 座標は 0 よりも大きくなり、高さはステージよりも小さくなります。

座標空間の個々のポイントを表すには、Point クラスのインスタンスを使用します。座標空間で矩形の領域を表すには、Rectangle インスタンスを作成します。より高度な操作を必要とする場合は、Matrix インスタンスを使用して、表示オブジェクトに複数の変換や複雑な変換を適用できます。回転、位置の変更、拡大 / 縮小倍率の変更など、単純な変換の多くは、オブジェクトのプロパティを使用して表示オブジェクトに直接適用できます。表示オブジェクトのプロパティを使用した変換の適用の詳細については、表示オブジェクトの操作を参照してください。

ジオメトリの一般的なタスク

ActionScript のジオメトリクラスを使用して、次のような作業を実行できます。

  • 2 つのポイント間の距離の計算
  • 様々な座標空間におけるポイントの座標の決定
  • 角度と距離を使用した表示オブジェクトの移動
  • Rectangle インスタンスの操作
    • Rectangle インスタンスの再配置
    • Rectangle インスタンスのサイズ変更
    • 複数の Rectangle インスタンスの合計サイズや重なり領域の決定
  • Matrix オブジェクトの作成
  • Matrix オブジェクトを使用した表示オブジェクトへの変換の適用

重要な概念と用語

この章で使用する重要な用語を次に示します。

  • 直交座標:座標は一般に 2 つの数値で表されます(5, 12 や 17, -23 など)。この 2 つの数値はそれぞれ、x 座標と y 座標です。
  • 座標空間:表示オブジェクトに含まれる座標グラフで、子エレメントがここに配置されます。
  • 原点:座標空間で x 軸と y 軸が交わるポイント。このポイントの座標は 0, 0 です。
  • ポイント:座標空間内の 1 つの場所。ActionScript で使用する 2 次元座標系では、ポイントは x 軸と y 軸 における場所(ポイントの座標)によって定義されます。
  • 基準点:表示オブジェクトの座標空間の原点(0, 0 座標)。
  • 拡大 / 縮小:オブジェクトの元のサイズを基準にしたサイズです。拡大 / 縮小は、オブジェクトを伸縮させてサイズを変更することを意味します。
  • 平行移動:ポイントの座標を、ある座標空間から他の座標空間に変更すること。
  • 変換:図形の視覚的特性を調整すること。オブジェクトの回転、拡大 / 縮小率の変更、シェイプの傾斜や歪み、色の変更など。
  • X 軸:ActionScript で使用する 2 次元座標系の水平軸。
  • Y 軸:ActionScript で使用する 2 次元座標系の垂直軸。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート