Int32
Sprite.Drawメソッドの引数は下のようになっている(C#)
public void Draw(
Texture srcTexture,
Rectangle srcRectangle,
Vector3 center,
Vector3 position,
int color
);
最後のcolorはint型で指定し、掛け合わせる色とα値を指定する。ARGB:8888であるので、そのまま表示したいときは0xFFFFFFFFを指定する、とヘルプにも書いてあるのだけれど。
Delphiの場合。
D3DSprite.Draw(SpriteTexture, FRect, Center, Pos, $FFFFFFFF);
と記述すると、
[警告]XXXX.pas(120): 定数式が範囲を超えました
と警告が出てくる。たかが警告と無視していたら
「プロジェクトXXXX.exeに処理されない例外クラス Borland.Delphi.System.ERangeErrorがあります。」
( ゜Д゜)ハァ?
対処法としてはColorをColor.Whiteとすればいいのだけれど、α値を適当にいじれないし。
とりあえずキャストしてみたら上手くいった。
D3DSprite.Draw(SpriteTexture, FRect, Center, Pos, Integer($FFFFFFFF));
Leave a Reply