クラス SpriteRenderer

SpriteRendererは、単純なBeginSprites / AddSprite X N / EndSprite APIでのスプライトの一括描画をラップします。 また、FontMap を使ったテキスト描画関数を提供します。 [詳細]

すべてのメンバ一覧

構成

class  DefaultFontShader_
 Fontのデフォルトのシェーダー。 [詳細]
class  DefaultShader_
 スプライトのデフォルトのシェーダー:色によって変調されたテクスチャ。 [詳細]
interface  ISpriteShader
 開発者によって設定されるシェーダープログラムのインターフェース。 [詳細]

Public メソッド

 SpriteRenderer (GraphicsContextAlpha gl, uint max_sprites)
 コンストラクタ。
void Dispose ()
 Dispose の実装。
Bounds2 DrawTextDebug (string str, Vector2 bottom_left_start_pos, float char_height, bool draw=true, ISpriteShader shader=null)
 DrawDebugTextは、埋め込まれた小さなフォントを使って、スクリーン上に文字を表示します。 DrawDebugTextは簡易的なフォントデータであるため、アスキー文字にしか対応していません ( ' '(32) から '~'(126)までの文字)。 アスキー文字以外の文字は'?'で表示されます。例えば「こんにちは」は "?????" と表示されます。
Bounds2 DrawTextWithFontMap (string str, Vector2 bottom_left_start_pos, float char_height, bool draw, FontMap fontmap, ISpriteShader shader)
 FontMapオブジェクトを使ったテキスト描画関数。
Bounds2 DrawTextWithFontMap (string str, Vector2 bottom_left_start_pos, float char_height, bool draw, FontMap fontmap)
 このテキスト描画関数は FontMap オブジェクトと SpriteRenderer の DefaultShader を使用します。
void BeginSprites (TextureInfo texture_info, ISpriteShader shader, int num_sprites)
 スプライトの一括描画を開始します。
void BeginSprites (TextureInfo texture_info, int num_sprites)
 スプライトの一括描画を開始します。
void EndSprites ()
 スプライトの一括描画を終了します。
void AddSprite (ref TRS quad, Vector2i tile_index)
 スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。
void AddSprite (ref TRS quad, Vector2i tile_index, ref Matrix3 mat)
 スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。
void AddSprite (ref TRS quad, ref TRS uv)
 スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。
void AddSprite (ref TRS quad, ref TRS uv, ref Matrix3 mat)
 スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。
void AddSprite (Vector2 bottom_left_start_pos, Vector2 x, Bounds2 uv_bounds)
 スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。 ひとつのベクトルでスプライトの向きとスケールを決定します。
void AddSprite (Vector4 v0, Vector4 v1, Vector4 v2, Vector4 v3)
 スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。 このバージョンでは、開発者は Vector4 で4つの頂点を指定します。Vector4の xy は 頂点の位置であり、 zw は UV です。

Public 変数

bool FlipU = false
 描画される全てのスプライト/クワッドのU座標を水平に反転するフラグ。
bool FlipV = false
 描画される全てのスプライト/クワッドのV座標を垂直に反転するフラグ。

プロパティ

DefaultShader_ DefaultShader [get]
 SpriteRenderer によって使用されるデフォルトのシェーダー。
DefaultFontShader_ DefaultFontShader [get]
 SpriteRenderer によって使用される、Fontのためのデフォルトのシェーダー。
bool Disposed [get]
 オブジェクトが破棄されている場合、trueを返します。

説明

SpriteRendererは、単純なBeginSprites / AddSprite X N / EndSprite APIでのスプライトの一括描画をラップします。 また、FontMap を使ったテキスト描画関数を提供します。


メソッド

void AddSprite ( ref TRS  quad,
Vector2i  tile_index 
)

スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。

引数:
quadスプライトの幾何情報。
tile_indexタイルインデックスで指定する、スプライトのUV。
void AddSprite ( ref TRS  quad,
Vector2i  tile_index,
ref Matrix3  mat 
)

スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。

引数:
quadスプライトの幾何情報。
tile_indexタイルインデックスで指定する、スプライトのUV。
matスプライトごとの変換行列。
void AddSprite ( ref TRS  quad,
ref TRS  uv 
)

スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。

引数:
quadスプライトの幾何情報。
uvTRSオブジェクトで指定するスプライトのUV。
void AddSprite ( ref TRS  quad,
ref TRS  uv,
ref Matrix3  mat 
)

スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。

引数:
quadスプライトの幾何情報。
uvTRSオブジェクトで指定するスプライトのUV。
matスプライトごとの変換行列。
void AddSprite ( Vector2  bottom_left_start_pos,
Vector2  x,
Bounds2  uv_bounds 
)

スプライトの一括描画処理にスプライトを追加します。 BeginSprites と EndSprites の間で呼び出してください。 ひとつのベクトルでスプライトの向きとスケールを決定します。

引数:
xスプライトの下端の長さと方向。
bottom_left_start_posスプライトの左下の点。
uv_boundsUVの境界 ( UV領域内のBounds2)。
void BeginSprites ( TextureInfo  texture_info,
int  num_sprites 
)

スプライトの一括描画を開始します。

引数:
texture_infoテクスチャオブジェクト。
num_sprites描画するスプライトの最大数。
void BeginSprites ( TextureInfo  texture_info,
ISpriteShader  shader,
int  num_sprites 
)

スプライトの一括描画を開始します。

引数:
texture_infoテクスチャオブジェクト。
shaderシェーダーオブジェクト。
num_sprites描画するスプライトの最大数。
Bounds2 DrawTextDebug ( string  str,
Vector2  bottom_left_start_pos,
float  char_height,
bool  draw = true,
ISpriteShader  shader = null 
)

DrawDebugTextは、埋め込まれた小さなフォントを使って、スクリーン上に文字を表示します。 DrawDebugTextは簡易的なフォントデータであるため、アスキー文字にしか対応していません ( ' '(32) から '~'(126)までの文字)。 アスキー文字以外の文字は'?'で表示されます。例えば「こんにちは」は "?????" と表示されます。

引数:
str描画するテキスト。
bottom_left_start_posワールド空間/ユニット内での、テキスト矩形の左下の点。
char_heightワールド空間/ユニット内での文字の高さ。
drawfalseを指定した場合、何も描画せず、テキストによって使用される Bound2 を返します。
shaderシェーダーを指定しない場合、DefaultFontShader が使用されます。
戻り値:
描画されたテキストでカバーされた矩形領域。実際に描画する前に矩形領域を知りたい場合、draw=trueで呼び出してください。
Bounds2 DrawTextWithFontMap ( string  str,
Vector2  bottom_left_start_pos,
float  char_height,
bool  draw,
FontMap  fontmap 
)

このテキスト描画関数は FontMap オブジェクトと SpriteRenderer の DefaultShader を使用します。

引数:
str描画するテキスト。
bottom_left_start_posワールド空間/ユニット内での、テキスト矩形の左下。
char_heightワールド空間/ユニット内での文字の高さ。
drawfalseを指定した場合、何も描画せず、テキストによって使用された Bound2 を返します。
fontmapフォントマップのオブジェクト (テクスチャを保持します)。
Bounds2 DrawTextWithFontMap ( string  str,
Vector2  bottom_left_start_pos,
float  char_height,
bool  draw,
FontMap  fontmap,
ISpriteShader  shader 
)

FontMapオブジェクトを使ったテキスト描画関数。

引数:
str描画するテキスト。
bottom_left_start_posワールド空間/units内でのテキスト矩形の左下の点。
char_heightワールド空間/units内での文字の高さ。
drawfalseを指定した場合、何も描画せず、テキストによって使用された Bound2 を返します。
fontmapフォントマップのオブジェクト (テクスチャを保持します)。
shaderSpriteRenderer.DefaultFontShader のデフォルトシェーダー。