在XNA和vb.net中将对象转换为spritebatch

时间:2012-07-17 18:34:23

标签: vb.net xna-4.0

我有一个需要访问game.service的gameComponent。在下面的示例中,我收到了从对象到microsoft.xna.framework.graphics.spritebatch的隐式转换错误。 C#示例显示该对象需要作为spritebatch进行转换。任何人都可以在vb.net中这样做吗?

实施例:     Dim spriteBatch As SpriteBatch = Game.Services.GetService(GetType(SpriteBatch))

1 个答案:

答案 0 :(得分:0)

你没有提到,需要投射哪个对象。我想,这是GetService()的返回值。然后你想做类似的事情:

Dim spriteBatch As SpriteBatch = DirectCast(Game.Services.GetService(GetType(SpriteBatch)), SpriteBatch)

也许,通用方法会对你有所帮助。使用通用方法,无需强制转换:

Function GetService(Of T)() As T
    '...
End Function
Dim spriteBatch = Game.Services.GetService(Of SpriteBatch)()