表示するサンプルコードの言語を指定できます。
図形オブジェクト2D (GeometryObject2D)
概要
オブジェクト2Dクラスを拡張し、図形クラスを持った上でそれを描画できる2D描画オブジェクトです。 下の図のように、描画する図形にテクスチャを合成することも可能です。
具体的には、Shapeプロパティに描画したい図形を設定すると、その形状の情報をもとに図形を描画します。
また、図形が線分以外の形状の時は、指定したテクスチャを図形に合成することが可能です。
主なメソッド
なし
主なプロパティ
名称 | 説明 |
---|---|
Shape | 描画する図形のハンドル |
Texture | 描画する2Dテクスチャのハンドル |
AlphaBlendMode | 図形描画の際に適用されるアルファブレンドの種類 |
CenterPosition | 図形に適用する変換(拡大、回転、移動)の基準位置(親から見た相対座標にて設定) |
Color | 図形描画の際の合成色のRGBA値を0~255の間で指定(Aの値を255未満にすると透明になる。) |
DrawingPriority | 描画の優先順位 |
TextureFilterType | 描画時のテクスチャフィルタ(近傍補間:Nearestもしくは線形補間:Linear) |
主なイベント
なし
使用方法
GeometryObject2Dクラスのサンプルです。
C++
#include <Base.h>
/**
@brief 円を描画するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(asd::ToAString("GeometryObject2D_CircleShape").c_str(), 640, 480, asd::EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
auto geometryObj = std::make_shared<asd::GeometryObject2D>();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd::Engine::AddObject2D(geometryObj);
// 円の図形クラスのインスタンスを生成する。
auto arc = std::make_shared<asd::CircleShape>();
// 円の外径、中心位置を指定する。
arc->SetOuterDiameter(400);
arc->SetPosition(asd::Vector2DF(320, 240));
// 円を描画する図形として設定する。
geometryObj->SetShape(arc);
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedを終了する。
asd::Engine::Terminate();
}
C#
/// <summary>
/// 円を描画するサンプル。
/// </summary>
public class GeometryObject2D_CircleShape
{
public string Description
{
get { return ""; }
}
public string Title
{
get { return ""; }
}
public string ClassName
{
get { return "GeometryObject2D_CircleShape"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_CircleShape", 640, 480, new asd.EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
var geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 円の図形クラスのインスタンスを生成する。
var arc = new asd.CircleShape();
// 円の外径、中心位置を指定する。
arc.OuterDiameter = 400;
arc.Position = new asd.Vector2DF(320, 240);
// 円を描画する図形として設定する。
geometryObj.Shape = arc;
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedを終了する。
asd.Engine.Terminate();
}
}
Java
/**
* 円を描画するサンプル。
*/
public class GeometryObject2D_CircleShape
{
public java.lang.String getDescription() {
return "";
}
public java.lang.String getTitle() {
return "";
}
public java.lang.String getClassName() {
return "GeometryObject2D_CircleShape";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_CircleShape", 640, 480, new asd.EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
asd.GeometryObject2D geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 円の図形クラスのインスタンスを生成する。
asd.CircleShape arc = new asd.CircleShape();
// 円の外径、中心位置を指定する。
arc.setOuterDiameter(400);
arc.setPosition(new asd.Vector2DF(320, 240));
// 円を描画する図形として設定する。
geometryObj.setShape(arc);
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedを終了する。
asd.Engine.Terminate();
}
}