• チュートリアル
  • 機能解説
  • リファレンス
  • 初代Altseedはコチラ

    • 機能解説
    • エンジン
    • ノード
    • 画像
    • 文字
    • マテリアル
    • カメラ
    • ポストエフェクト
    • サウンド
    • ログ
    • プロファイラ
    • ファイル
    • ファイルパッケージ
    • ジョイスティック
    • キーボード
    • マウス
    • カーソル
    • シリアライズ
    • 衝突判定
    • 図形ノード
    • トランジション
    • メディアプレイヤー
    • Altseed2.Tools (.NETツール)

    図形ノード

    Altseed2には図形を描画するノードが存在します。 描画できる図形は円弧,円,直線,短形,三角形があります。

    円の描画

    円の描画はCircleNodeで行う事が出来ます。

    設定できる情報と対応するプロパティは以下の通りです。

    設定できる情報 対応するプロパティ 備考
    中心座標 Position
    半径 Radius
    頂点の数 VertNum 3以上にしなければならない。

    VertNumを調整する事で,三角形や五角形など正多角形を描画出来ます。 円にしたければ頂点の数を増やすと良いでしょう。

    円弧の描画

    円弧の描画はArcNodeで行う事が出来ます。 ArcNodeではCircleNodeの内容に加えて,描画をする角度の範囲を設定できます。

    設定できる情報と対応するプロパティは以下の通りです。

    設定できる情報 対応するプロパティ 備考
    中心座標 Position
    半径 Radius
    頂点の数 VertNum 3以上にしなければならない。
    描画開始角度 StartDegree
    描画終了角度 EndDegree
    Note

    StartDegreeとEndDegreeの値はそれぞれ-360~360の間に自動的に修正されます, その差も360までに自動的に修正されます。
    StartDegreeとEndDegreeの大小に指定はありません。

    直線の描画

    直線の描画はLineNodeで行う事が出来ます。

    設定できる情報と対応するプロパティは以下の通りです。

    設定できる情報 対応するプロパティ
    端点1 Point1
    端点2 Point2
    太さ Thickness

    短形の描画

    短形の描画はRectangleNodeで行う事が出来ます。

    設定できる情報と対応するプロパティは以下の通りです。

    設定できる情報 対応するプロパティ 備考
    左上頂点の座標 Position
    サイズ RectangleSize Texture.Sizeに関係なくこのプロパティの値で決定。

    三角形の描画

    三角形の描画はTriangleNodeで行う事が出来ます。

    設定できる情報と対応するプロパティは以下の通りです。

    設定できる情報 対応するプロパティ
    頂点1 Point1
    頂点2 Point2
    頂点3 Point3

    サンプルコード

    サンプルコードは以下の通りです。

    using Altseed2;
    
    namespace Sample
    {
        class ShapeNode
        {
            static void Main(string[] args)
            {
                // Altseed2 を初期化します。
                Engine.Initialize("ShapeNode", 640, 480);
    
                // 円を描画するノード 
                var circle = new CircleNode()
                {
                    Color = new Color(255, 100, 100),
                    Radius = 30f,
                    Position = new Vector2F(100f, 300f),
                    VertNum = 30
                };
    
                // 円弧を描画するノード
                var arc = new ArcNode()
                {
                    Color = new Color(100, 255, 100),
                    Radius = 25f,
                    Position = new Vector2F(300f, 100f),
                    StartDegree = 30f,
                    EndDegree = 150f,
                    VertNum = 30
                };
    
                // 直線を描画するノード
                var line = new LineNode()
                {
                    Color = new Color(100, 100, 255),
                    Point1 = new Vector2F(200f, 150f),
                    Point2 = new Vector2F(400f, 350f),
                    Thickness = 5f
                };
    
                // 短形を描画するノード
                var rectangle = new RectangleNode()
                {
                    Color = new Color(255, 255, 100),
                    Position = new Vector2F(300f, 400f),
                    RectangleSize = new Vector2F(50f, 50f)
                };
    
                // 三角形を描画するノード
                var triangle = new TriangleNode()
                {
                    Color = new Color(255, 100, 255),
                    Point1 = new Vector2F(50f, 50f),
                    Point2 = new Vector2F(100f, 50f),
                    Point3 = new Vector2F(50f, 100f),
                };
    
                // エンジンにノードを追加します。
                Engine.AddNode(circle);
                Engine.AddNode(arc);
                Engine.AddNode(line);
                Engine.AddNode(rectangle);
                Engine.AddNode(triangle);
    
                // メインループ。
                // Altseed のウインドウが閉じられると終了します。
                while (Engine.DoEvents())
                {
                    // Altseed を更新します。
                    Engine.Update();
                }
    
                // Altseed の終了処理をします。
                Engine.Terminate();
            }
        }
    }
    

    これを実行するとこのように図形が描画されます。

    Result

    Copyright © 2020 Altseed .