2014-01-10 47 views
1

要翻轉一個精靈,在XNA我可以在Draw方法的重載使用一個變量作爲參數:如何將元素添加到枚舉(XNA SpriteEffects例如)

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

沒有,這是不可能的

但是,您可以創建一個靜態的。與如自定義常量類:

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在整個項目中保持一致。但你也可以把它們留下。