如何将元素添加到枚举(XNA SpriteEffects示例)

时间:2014-01-10 12:12:06

标签: c# c#-4.0 xna xna-4.0

要翻转精灵,在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;

1 个答案:

答案 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);

您可以添加FlipVerticallyFlipHorizontally以在整个项目中保持一致。但你也可以把它们留下来。