本文整理汇总了C#中SpriteBatch.Flush方法的典型用法代码示例。如果您正苦于以下问题:C# SpriteBatch.Flush方法的具体用法?C# SpriteBatch.Flush怎么用?C# SpriteBatch.Flush使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SpriteBatch
的用法示例。
在下文中一共展示了SpriteBatch.Flush方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Draw
public override void Draw(SpriteBatch batch) {
if (base._visible && (this._texture != null)) {
pos = base.ConvertToWorldPos();
if (_screenRect.Intersects(pos[0], pos[1], GetWidth(), GetHeight())
|| _screenRect.Contains(pos[0], pos[1])) {
if (_parent != null) {
rotation = ConvertToWorldRot();
scale = ConvertToWorldScale();
} else {
rotation = _rotation;
scale[0] = _scale.x;
scale[1] = _scale.y;
}
batch.SetColor(base._color.r, base._color.g, base._color.b,
base._alpha);
if (rotation == 0) {
batch.Draw(_texture, pos[0], pos[1], base._size_width
* scale[0], base._size_height * scale[1],
base._left, base._top, base._orig_width,
base._orig_height, _flipX, _flipY);
} else {
batch.Draw(_texture, pos[0], pos[1], _anchor.x, _anchor.y,
base._size_width, base._size_height, scale[0],
scale[1], MathUtils.ToDegrees(rotation),
base._left, base._top, base._orig_width,
base._orig_height, _flipX, _flipY);
}
batch.ResetColor();
BlendState oldState = batch.GetBlendState();
if (blendState != oldState) {
batch.Flush(blendState);
batch.SetBlendState(oldState);
}
}
}
}