2014-01-15 54 views
-1

只是想检查这是否是正确的方法去做这件事,或者如果有更好的方法来做到这一点。我创建了一个按钮,在点击时打开和关闭。我想这样做是为了当按钮打开时,一个精灵可见,当它关闭时,它不是。我是否正确地认为你将精灵设置为空,然后在打开时重新绘制或者应该以另一种方式完成?XNA雪碧的可见性

在此先感谢。

丰富

回答

0

一种方法是只跟踪知名度与布尔:

private bool _displaySprite; // Class-level field 

然后,你的按钮被点击时就会切换将bool:

private void Button_Clicked() 
{ 
    _displaySprite = !_displaySprite; 
} 

然后你只需在Draw函数中检查bool:

private void Draw() 
{ 
    if (_displaySprite) 
    { 
     // Draw the sprite 
    } 
} 
0

我会走下去一个略有不同的路线。

我会用

class Sprite 
{ 
    public bool Visible {get; set; } 
    public Texture2D Texture{get; set; } 
    public Vector2 {get; set; 
} 

如果你想扩大这种进一步的(和你应该),你可以添加平局/更新方法到这个类,使它抽象,有你的游戏对象从它继承。你可以更好地控制你的精灵状态,并且可能会清理你的代码。