表示するサンプルコードの言語を指定できます。
テクスチャオブジェクト2D (TextureObject2D)
概要
オブジェクト2Dクラスを拡張し、描画するテクスチャやそれに適用するオプションを設定可能にした2D描画オブジェクトです。描画するテクスチャ、そのテクスチャの切り出し範囲、反転描画のフラグなどを設定することができます。
プレイヤー、敵キャラクター、弾などのゲーム中にて毎フレーム更新される描画オブジェクトを定義するにはこのテクスチャオブジェクト2Dが適しており、例えば図よりSrcにテクスチャ上での切り出し範囲を設定することで、連番テクスチャの導入が可能です。他にも上下反転(TurnUL)や描画の中心軸(CenterPosition)を設定してからの回転描画が可能です。
逆に、マップチップや背景オブジェクトなどほとんど更新せずとも大量に描画する必要のあるテクスチャを扱う際にはマップオブジェクト2Dが適しています。
テクスチャについては、テクスチャの項を御覧ください。
主なメソッド
なし
主なプロパティ
名称 | 説明 |
---|---|
Texture | 描画する2Dテクスチャのハンドル |
AlphaBlendMode | テクスチャ描画の際に適用されるアルファブレンドの種類 |
CenterPosition | テクスチャに適用する変換(拡大、回転、移動)の基準位置(親から見た相対座標にて設定) |
Color | テクスチャ描画の際の合成色のRGBA値を0~255の間で指定(Aの値を255未満にすると透明になる。) |
DrawingPriority | 描画の優先順位 |
TurnLR | テクスチャ描画の左右反転フラグ |
TurnUL | テクスチャ描画の上下反転フラグ |
Src | テクスチャ上の描画する切り出し範囲 |
TextureFilterType | 描画時のテクスチャフィルタ(近傍補間:Nearestもしくは線形補間:Linear) |
主なイベント
なし
使用方法
TextureObject2Dクラスのサンプルです。
C++
#include <Altseed.h>
/**
@brief 画像を表示するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(u"TextureObject2D_Basic", 640, 480, asd::EngineOption());
// 画像を読み込む。
std::shared_ptr<asd::Texture2D> texture =
asd::Engine::GetGraphics()->CreateTexture2D(u"Data/Texture/Picture1.png");
// 画像描画オブジェクトのインスタンスを生成する。
std::shared_ptr<asd::TextureObject2D> obj = std::make_shared<asd::TextureObject2D>();
// 描画される画像を設定する。
obj->SetTexture(texture);
// 描画位置を指定する。
obj->SetPosition(asd::Vector2DF(50, 50));
// 画像描画オブジェクトのインスタンスをエンジンに追加する。
asd::Engine::AddObject2D(obj);
// Altseedのウインドウが閉じられていないか確認する。
while (asd::Engine::DoEvents())
{
// Altseedを更新する。
asd::Engine::Update();
}
// Altseedを終了する。
asd::Engine::Terminate();
}
C#
/// <summary>
/// 画像を表示するサンプル。
/// </summary>
class TextureObject2D_Basic
{
public string Description
{
get { return "画像を表示する基本的なサンプルです。"; }
}
public string Title
{
get { return "画像の表示"; }
}
public string ClassName
{
get { return "TextureObject2D_Basic"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("TextureObject2D_Basic", 640, 480, new asd.EngineOption());
// 画像を読み込む。
asd.Texture2D texture = asd.Engine.Graphics.CreateTexture2D("Data/Texture/Picture1.png");
// 画像描画オブジェクトのインスタンスを生成する。
asd.TextureObject2D obj = new asd.TextureObject2D();
// 描画される画像を設定する。
obj.Texture = texture;
// 描画位置を指定する。
obj.Position = new asd.Vector2DF(50, 50);
// 画像描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(obj);
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
Java
/**
* 画像を表示するサンプル。
*/
class TextureObject2D_Basic
{
public java.lang.String getDescription() {
return "画像を表示する基本的なサンプルです。";
}
public java.lang.String getTitle() {
return "画像の表示";
}
public java.lang.String getClassName() {
return "TextureObject2D_Basic";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("TextureObject2D_Basic", 640, 480, new asd.EngineOption());
// 画像を読み込む。
asd.Texture2D texture = asd.Engine.getGraphics().CreateTexture2D("Data/Texture/Picture1.png");
// 画像描画オブジェクトのインスタンスを生成する。
asd.TextureObject2D obj = new asd.TextureObject2D();
// 描画される画像を設定する。
obj.setTexture(texture);
// 描画位置を指定する。
obj.setPosition(new asd.Vector2DF(50, 50));
// 画像描画オブジェクトのインスタンスをエンジンに追加する。
asd.Engine.AddObject2D(obj);
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}