SophiaFramework UNIVERSE 5.3 |
SophiaFramework UNIVERSE の座標系には、 画面上の格子点(グリッド)を表すグリッド座標系(SFXGrid)と、 画面上の画素(ピクセル)を表すピクセル座標系(SFXPixel)の 2 種類があります。
表 12.1. 点 ・ 画素を表すクラス
クラス名 | BREW の構造体 | 図形の種類 | 解説 |
---|---|---|---|
SFXGrid | AEEPoint | 格子点(グリッド) | グリッド座標を扱うためのクラスです。 |
SFXPixel | AEEPoint | 画素(ピクセル) | ピクセル座標を扱うためのクラスです。 |
囲碁や将棋に例えると、 「描画する平面」は盤面、 「グリッド」は囲碁の碁石を置く場所、 「ピクセル」は将棋の駒を置く場所です。
例 12.7. グリッド指定位置へのテキストの描画
SFXGraphicsPtr graphics = SFXGraphics::GetInstance(); // テキストを描画する : SFXGrid(50, 80) は描画位置 // DrawSingleText 関数は SFXPixel クラスではなく SFXGrid クラスを引数にする graphics->DrawSingleText("drawing", SFXGrid(50, 80));
例 12.10. ピクセルの描画
SFXGraphicsPtr graphics = SFXGraphics::GetInstance();
// DrawPixel 関数は SFXGrid インスタンスを引数にしない
graphics->DrawPixel(pixel);
ピクセル座標の取得
SInt16 x = pixel.GetX(); // x = 10 SInt16 y = pixel.GetY(); // y = 20
例 12.12. ピクセルの演算
SFXPixel pixel(10, 20); SFXGraphicsPtr graphics = SFXGraphics::GetInstance(); SInt16 i; for (i = 0; i < 50; ++i) { // 点を描画する graphics->DrawPixel(pixel, SFXRGBColor(0x00, 0x00, 0x00, 0x00)); // 点を右に 3 ピクセル移動する pixel.AddX(3); } for (i = 0; i < 50; ++i) { // 点を描画する graphics->DrawPixel(pixel, SFXRGBColor(0x00, 0x00, 0x00, 0x00)); // 点を左に 3 ピクセル、下に 3 ピクセル移動する pixel.Offset(-3, 3); }
Copyright(c) 2002 - 2024 Sophia Cradle Incorporated All Rights Reserved. |