表示するサンプルコードの言語を指定できます。
テキストオブジェクト2D (TextObject2D)
概要
オブジェクト2Dクラスを拡張し、文字列を描画することが可能な2D描画オブジェクトです。
最低限、描画に使用するフォントと描画する文字列を設定すると図に示すように文字列の左上を基準に文字列を描画することが出来ます。フォントの設定によって図に示すように文字サイズが設定でき、枠線付き文字の描画や文字列の回転も可能です。
他にも文字列の描画方向、描画色、アルファブレンドの種類、反転フラグなどが指定可能です。 ゲームのスコアやステータスなど文字を扱う描画オブジェクト全般に使用可能です。
フォントについてはフォントの項を御覧ください。
主なメソッド
なし
主なプロパティ
名称 | 説明 |
---|---|
Font | 描画文字列に使用するフォント |
Text | 描画する文字列。(\nで描画文字列を改行可能) |
AlphaBlendMode | テクスチャ描画の際に適用されるアルファブレンドの種類 |
CenterPosition | 文字列描画の際に適用する変換(拡大、回転、移動)の基準位置(親から見た相対座標にて設定) |
Color | 文字列に合成する色のRGBA値を0~255の間で指定(Aの値を255未満にすると透明になる) |
DrawingPriority | 描画の優先順位 |
TurnLR | 個々の文字の描画左右反転フラグ |
TurnUL | 個々の文字の描画上下反転フラグ |
WritingDirection | 文字列の描画する方向(左から右:Horizontalもしくは上から下:Vertical) |
TextureFilterType | 描画時のテクスチャフィルタ(近傍補間:Nearestもしくは線形補間:Linear) |
LineSpacing | 文字列を描画する際の行間値 |
LetterSpacing | 文字列を描画する際の文字間値 |
主なイベント
なし
使用方法
TextObject2Dクラスのサンプルです。
C++
#include <Base.h>
/**
@brief 文字列を表示するサンプル。
*/
int main()
{
// Altseedを初期化する。
asd::Engine::Initialize(u"TextObject2D_Basic", 640, 480, asd::EngineOption());
{
// フォントを生成する。
auto font = asd::Engine::GetGraphics()->CreateFont(u"Data/Font/Font1.aff");
// 文字描画オブジェクトを生成する
auto obj = std::make_shared<asd::TextObject2D>();
// 描画に使うフォントを設定する。
obj->SetFont(font);
// 描画位置を指定する。
obj->SetPosition(asd::Vector2DF(100, 100));
// 描画する文字列を指定する。
obj->SetText(u"普通の文字列描画");
// 文字描画オブジェクトのインスタンスをエンジンへ追加する。
asd::Engine::AddObject2D(obj);
}
// 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 TextObject2D_Basic
{
public string Description
{
get { return "文字列を描画するサンプルです。"; }
}
public string Title
{
get { return "文字列の描画"; }
}
public string ClassName
{
get { return "TextObject2D_Basic"; }
}
[System.STAThread]
static void Main(string[] args)
{
// Altseedを初期化する。
asd.Engine.Initialize("TextObject2D_Basic", 640, 480, new asd.EngineOption());
{
// フォントを生成する。
var font = asd.Engine.Graphics.CreateFont("Data/Font/Font1.aff");
// 文字描画オブジェクトを生成する。
var obj = new asd.TextObject2D();
// 描画に使うフォントを設定する。
obj.Font = font;
// 描画位置を指定する。
obj.Position = new asd.Vector2DF(100, 100);
// 描画する文字列を指定する。
obj.Text = "普通の文字列描画";
// 文字描画オブジェクトのインスタンスをエンジンへ追加する。
asd.Engine.AddObject2D(obj);
}
// Altseedのウインドウが閉じられていないか確認する。
while (asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}
Java
/**
* 文字列を表示するサンプル。
*/
class TextObject2D_Basic
{
public java.lang.String getDescription() {
return "文字列を描画するサンプルです。";
}
public java.lang.String getTitle() {
return "文字列の描画";
}
public java.lang.String getClassName() {
return "TextObject2D_Basic";
}
public static void main(String args[])
{
// Altseedを初期化する。
asd.Engine.Initialize("TextObject2D_Basic", 640, 480, new asd.EngineOption());
// フォントを生成する。
asd.Font font = asd.Engine.getGraphics().CreateFont("Data/Font/Font1.aff");
// 文字描画オブジェクトを生成する。
asd.TextObject2D obj = new asd.TextObject2D();
// 描画に使うフォントを設定する。
obj.setFont(font);
// 描画位置を指定する。
obj.setPosition(new asd.Vector2DF(100, 100));
// 描画する文字列を指定する。
obj.setText("普通の文字列描画");
// 文字描画オブジェクトのインスタンスをエンジンへ追加する。
asd.Engine.AddObject2D(obj);
// Altseedのウインドウが閉じられていないか確認する。
while(asd.Engine.DoEvents())
{
// Altseedを更新する。
asd.Engine.Update();
}
// Altseedの終了処理をする。
asd.Engine.Terminate();
}
}