First, you should group your variables according to their area of responsibility. A sprite and a debug text block are certainly no resources, so either rename the class or split it. For example, what does the sf::Sprite represent? Your answer probably tells you where it should belong.
It's not uncommon that something is used in different modules. But a global variable is only in the rarest cases an acceptable solution. Mostly, it results from the apparent easyness, which is an illusion. Why don't you pass your texture (respectively a pointer or reference) to the functions that need it? Depending on your design, you can also pass it to the constructor, if there is a whole class taking care of it.
And no, static class is everything but perfect for this. It brings many of the issues of global variables, but looks nicer. Beware of being too euphoric about such "object-oriented solutions" (in C++, the singleton can be tempting, for example), they're not always better. Your variables don't need to be static!