表示するサンプルコードの言語を指定できます。
図形の描画
Altseedで図形を描画するにはGeometryObject2Dという図形の描画専用のオブジェクトのクラスとShapeという図形クラスを使用します。
ここのサンプルに掲載されている図形に限らず、様々な図形を描画できます。
円の描画
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();
}
}
弧の描画
C++
#include <Base.h>
/**
@brief 弧を表示するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(asd::ToAString("GeometryObject2D_ArcShape").c_str(), 640, 480, asd::EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
auto geometryObj = std::make_shared<asd::GeometryObject2D>();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd::Engine::AddObject2D(geometryObj);
// 弧の図形クラスのインスタンスを生成する。
auto arc = std::make_shared<asd::ArcShape>();
// 弧の外径、内径、頂点数、中心位置、開始頂点番号、終了頂点番号を指定する。
arc->SetOuterDiameter(400);
arc->SetInnerDiameter(40);
arc->SetNumberOfCorners(96);
arc->SetPosition(asd::Vector2DF(320, 240));
arc->SetStartingCorner(90);
arc->SetEndingCorner(45);
// 弧を描画する図形として設定する。
geometryObj->SetShape(arc);
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedを終了する。
asd::Engine::Terminate();
}
C#
/// <summary>
/// 弧を表示するサンプル。
/// </summary>
class GeometryObject2D_ArcShape
{
public string Description
{
get { return ""; }
}
public string Title
{
get { return ""; }
}
public string ClassName
{
get { return "GeometryObject2D_ArcShape"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_ArcShape", 640, 480, new asd.EngineOption());
// 図形描画クラスのコンストラクタを呼び出す。
var geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 弧の図形クラスのインスタンスを生成する。
var arc = new asd.ArcShape();
// 弧の外径、内径、頂点数、中心位置、開始頂点番号、終了頂点番号を指定する。
arc.OuterDiameter = 400;
arc.InnerDiameter = 40;
arc.NumberOfCorners = 96;
arc.Position = new asd.Vector2DF(320, 240);
arc.StartingCorner = 90;
arc.EndingCorner = 45;
// 弧を描画する図形として設定する。
geometryObj.Shape = arc;
// Altseedを更新する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
Java
/**
* 弧を表示するサンプル。
*/
class GeometryObject2D_ArcShape
{
public java.lang.String getDescription() {
return "";
}
public java.lang.String getTitle() {
return "";
}
public java.lang.String getClassName() {
return "GeometryObject2D_ArcShape";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_ArcShape", 640, 480, new asd.EngineOption());
// 図形描画クラスのコンストラクタを呼び出す。
asd.GeometryObject2D geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 弧の図形クラスのインスタンスを生成する。
asd.ArcShape arc = new asd.ArcShape();
// 弧の外径、内径、頂点数、中心位置、開始頂点番号、終了頂点番号を指定する。
arc.setOuterDiameter(400);
arc.setInnerDiameter(40);
arc.setNumberOfCorners(96);
arc.setPosition(new asd.Vector2DF(320, 240));
arc.setStartingCorner(90);
arc.setEndingCorner(45);
// 弧を描画する図形として設定する。
geometryObj.setShape(arc);
// Altseedを更新する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
矩形の描画
C++
#include <Base.h>
/**
@brief 矩形を表示するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(asd::ToAString("GeometryObject2D_RectangleShape").c_str(), 640, 480, asd::EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
auto geometryObj = std::make_shared<asd::GeometryObject2D>();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd::Engine::AddObject2D(geometryObj);
// 矩形の図形クラスのインスタンスを生成する。
auto rect = std::make_shared<asd::RectangleShape>();
// 矩形の描画範囲を指定する。
rect->SetDrawingArea(asd::RectF(10, 210, 300, 200));
// 矩形を描画する図形として設定する。
geometryObj->SetShape(rect);
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedを終了する。
asd::Engine::Terminate();
}
C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/// <summary>
/// 矩形を表示するサンプル。
/// </summary>
class GeometryObject2D_RectangleShape
{
public string Description
{
get { return ""; }
}
public string Title
{
get { return ""; }
}
public string ClassName
{
get { return "GeometryObject2D_RectangleShape"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_RectangleShape", 640, 480, new asd.EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
var geometryObj = new asd.GeometryObject2D();
// 図形描画クラスのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 矩形の図形クラスのインスタンスを生成する。
var rect = new asd.RectangleShape();
// 矩形の描画範囲を指定する。
rect.DrawingArea = new asd.RectF(10, 210, 300, 200);
// 矩形を描画する図形として設定しする。
geometryObj.Shape = rect;
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
Java
/**
* 矩形を表示するサンプル。
*/
class GeometryObject2D_RectangleShape
{
public java.lang.String getDescription() {
return "";
}
public java.lang.String getTitle() {
return "";
}
public java.lang.String getClassName() {
return "GeometryObject2D_RectangleShape";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_RectangleShape", 640, 480, new asd.EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
asd.GeometryObject2D geometryObj = new asd.GeometryObject2D();
// 図形描画クラスのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 矩形の図形クラスのインスタンスを生成する。
asd.RectangleShape rect = new asd.RectangleShape();
// 矩形の描画範囲を指定する。
rect.setDrawingArea(new asd.RectF(10, 210, 300, 200));
// 矩形を描画する図形として設定しする。
geometryObj.setShape(rect);
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
多角形の描画
C++
#include <Base.h>
/**
@brief 多角形を表示するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(asd::ToAString("GeometryObject2D_PolygonShape").c_str(), 640, 480, asd::EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
auto geometryObj = std::make_shared<asd::GeometryObject2D>();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd::Engine::AddObject2D(geometryObj);
// 多角形の図形クラスのインスタンスを生成する。
auto polygon = std::make_shared<asd::PolygonShape>();
// 多角形を構成する頂点を追加していく。(星形になるようにする。)
for (int i = 0; i < 10; ++i)
{
asd::Vector2DF vec = asd::Vector2DF(1, 0);
vec.SetDegree(i * 36);
if (i % 2 == 0)
{
vec.SetLength(200);
}
else
{
vec.SetLength(75);
}
polygon->AddVertex(vec + asd::Vector2DF(320, 240));
}
// 多角形を描画する図形として設定する。
geometryObj->SetShape(polygon);
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedを終了する。
asd::Engine::Terminate();
}
C#
/// <summary>
/// 多角形を表示するサンプル。
/// </summary>
class GeometryObject2D_PolygonShape
{
public string Description
{
get { return ""; }
}
public string Title
{
get { return ""; }
}
public string ClassName
{
get { return "GeometryObject2D_PolygonShape"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_PolygonShape", 640, 480, new asd.EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
var geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 多角形の図形クラスのインスタンスを生成する。
var polygon = new asd.PolygonShape();
// 多角形を構成する頂点を追加していく。(星形になるようにする。)
for (int i = 0; i < 10; i++)
{
asd.Vector2DF vec = new asd.Vector2DF(1, 0);
vec.Degree = i * 36;
if (i % 2 == 0)
{
vec.Length = 200;
}
else
{
vec.Length = 75;
}
polygon.AddVertex(vec + new asd.Vector2DF(320, 240));
}
// 多角形を描画する図形として設定する。
geometryObj.Shape = polygon;
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
Java
/**
* 多角形を表示するサンプル。
*/
class GeometryObject2D_PolygonShape
{
public java.lang.String getDescription() {
return "";
}
public java.lang.String getTitle() {
return "";
}
public java.lang.String getClassName() {
return "GeometryObject2D_PolygonShape";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_PolygonShape", 640, 480, new asd.EngineOption());
// 図形描画オブジェクトのインスタンスを生成する。
asd.GeometryObject2D geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 多角形の図形クラスのインスタンスを生成する。
asd.PolygonShape polygon = new asd.PolygonShape();
// 多角形を構成する頂点を追加していく。(星形になるようにする。)
for(int i = 0; (i < 10); i++)
{
asd.Vector2DF vec = new asd.Vector2DF(1, 0);
vec.setDegree((i * 36));
if(((i % 2 ) == 0))
{
vec.setLength(200);
}
else
{
vec.setLength(75);
}
polygon.AddVertex(asd.Vector2DF.Add(vec, new asd.Vector2DF(320, 240)));
}
// 多角形を描画する図形として設定する。
geometryObj.setShape(polygon);
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
テクスチャを合成した多角形の描画
C++
#include <Base.h>
/**
@brief 多角形をテクスチャを合成した上で表示するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(asd::ToAString("GeometryObject2D_PolygonShape_Textured").c_str(), 640, 480, asd::EngineOption());
// テクスチャとして図形に合成する画像を読み込む。
auto texture = asd::Engine::GetGraphics()->CreateTexture2D(asd::ToAString("Data/Texture/Sample1.png").c_str());
// 図形描画オブジェクトのインスタンスを生成する。
auto geometryObj = std::make_shared<asd::GeometryObject2D>();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd::Engine::AddObject2D(geometryObj);
// 多角形の図形クラスのインスタンスを生成する。
auto polygon = std::make_shared<asd::PolygonShape>();
// 多角形を構成する頂点を追加していく。(星形になるようにする。)
for (int i = 0; i < 10; ++i)
{
asd::Vector2DF vec = asd::Vector2DF(1, 0);
vec.SetDegree(i * 36);
if (i % 2 == 0)
{
vec.SetLength(200);
}
else
{
vec.SetLength(75);
}
polygon->AddVertex(vec + asd::Vector2DF(320, 240));
}
// 多角形を描画する図形として設定し、合成するテクスチャも設定する。
geometryObj->SetShape(polygon);
geometryObj->SetTexture(texture);
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedを終了する。
asd::Engine::Terminate();
}
C#
/// <summary>
/// 多角形をテクスチャを合成した上で表示するサンプル。
/// </summary>
class GeometryObject2D_PolygonShape_Textured
{
public string Description
{
get { return ""; }
}
public string Title
{
get { return ""; }
}
public string ClassName
{
get { return "GeometryObject2D_PolygonShape_Textured"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_PolygonShape_Textured", 640, 480, new asd.EngineOption());
// テクスチャとして図形に合成する画像を読み込む。
var texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Sample1.png");
// 図形描画オブジェクトのインスタンスを生成する。
var geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 多角形の図形クラスのインスタンスを生成する。
var polygon = new asd.PolygonShape();
// 多角形を構成する頂点を追加していく。(星形になるようにする。)
for (int i = 0; i < 10; i++)
{
asd.Vector2DF vec = new asd.Vector2DF(1, 0);
vec.Degree = i * 36;
if(i % 2 ==0)
{
vec.Length = 200;
}
else
{
vec.Length = 75;
}
polygon.AddVertex(vec + new asd.Vector2DF(320, 240));
}
// 多角形を描画する図形として設定し、合成するテクスチャも設定する。
geometryObj.Shape = polygon;
geometryObj.Texture = texture;
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedを終了する。
asd.Engine.Terminate();
}
}
Java
/**
* 多角形をテクスチャを合成した上で表示するサンプル。
*/
class GeometryObject2D_PolygonShape_Textured
{
public java.lang.String getDescription() {
return "";
}
public java.lang.String getTitle() {
return "";
}
public java.lang.String getClassName() {
return "GeometryObject2D_PolygonShape_Textured";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("GeometryObject2D_PolygonShape_Textured", 640, 480, new asd.EngineOption());
// テクスチャとして図形に合成する画像を読み込む。
asd.Texture2D texture = asd.Engine.getGraphics().CreateTexture2D("Data/Texture/Sample1.png");
// 図形描画オブジェクトのインスタンスを生成する。
asd.GeometryObject2D geometryObj = new asd.GeometryObject2D();
// 図形描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(geometryObj);
// 多角形の図形クラスのインスタンスを生成する。
asd.PolygonShape polygon = new asd.PolygonShape();
// 多角形を構成する頂点を追加していく。(星形になるようにする。)
for(int i = 0; (i < 10); i++)
{
asd.Vector2DF vec = new asd.Vector2DF(1, 0);
vec.setDegree((i * 36));
if(((i % 2 ) == 0))
{
vec.setLength(200);
}
else
{
vec.setLength(75);
}
polygon.AddVertex(asd.Vector2DF.Add(vec, new asd.Vector2DF(320, 240)));
}
// 多角形を描画する図形として設定し、合成するテクスチャも設定する。
geometryObj.setShape(polygon);
geometryObj.setTexture(texture);
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedを終了する。
asd.Engine.Terminate();
}
}