要翻转精灵,在XNA中我可以在Draw
方法的重载中使用变量作为参数:
SpriteEffects flip_effect_ = SpriteEffects.FlipHorizontally;
// or
flip_effect_ = SpriteEffects.FlipVertically;
// or
flip_effect_ = SpriteEffects.None;
如果我想垂直和水平地翻转精灵 ,我可以这样做:
flip_effect_ = SpriteEffects.FlipVertically | SpriteEffects.FlipHorizontally;
因此,SpriteEffects
枚举仅包含前三个值。 (MSDN page有没有办法扩展枚举并添加,例如“FlipBoth”?我会用它:
flip_effect_ = SpriteEffects.FlipBoth;
答案 0 :(得分:1)
不,这是不可能的。
但是,您可以使用以下自定义常量创建静态类:
static class MySpriteEffects
{
public const SpriteEffects FlipVertically = SpriteEffect.FlipVertically;
public const SpriteEffects FlipHorizontally = SpriteEffect.FlipHorizontally;
public const SpriteEffects FlipBoth = SpriteEffect.FlipVertically | SpriteEffects.FlipHozizontally;
}
并将其用作
.Draw(..., MySpriteEffects.FlipBoth);
您可以添加FlipVertically
和FlipHorizontally
以在整个项目中保持一致。但你也可以把它们留下来。