问题描述
|
对于那些有使用VB.NET经验的人来说,使用SlimDX或SDL更容易吗? SlimDX的教程已经为.NET编写,但是我已经读到SDL比DirectX本身容易得多。
就我而言,我只需要2D图形。
另外,您推荐哪种语言。我通常使用VB.NET,但是大多数Internet上的教程可能都是C#,而且我认为学习C和PHP并不难。 :)
解决方法
对于使用较旧的图形卡的用户而言,SDL可能是一个问题,这些图形卡往往缺乏不错的OpenGL加速功能。上次我检查SDL的.NET包装器也已过时。
当我为我的.NET项目寻找一个不错的2D硬件加速库时,最终使用了一个名为Gorgon的库。它基于SlimDX,专注于使SlimDX更加面向对象,更易于在2D应用程序中使用。
它支持呈现给您喜欢的任何控件,您可以将其与Windows Forms内容自由混合。性能基本上与SlimDX相同,因为它本质上是SlimDX包装器。
如果您有兴趣,这里有一些链接:
http://code.google.com/p/gorgonlib/
http://tape-worm.net/
http://www.tape-worm.net/forums/
http://www.facebook.com/pages/Gorgon-Graphics-Library/197556460277685
, 要回答问题的第二部分:
在大多数情况下,VB.NET和C#都是相同的。
它们编译为相同的结束代码并具有相同的性能(如果您将每个溢出检查更改为匹配)。以下是一些区别:
VB.NET
不区分大小写
比C#更详细
从其BASIC的前辈那里继承了不良的声誉,许多程序员(我认为大多数是C ++的程序员)似乎都视VB.NET为劣等。
不如C#常用
有\“ With ... End With \”,我真的希望C#有。
默认情况下有溢出检查
\“ My \”名称空间
C#
区分大小写
可用性稍差-在VS08中同时使用了C#和VB之后,我发现C#智能感知的智能程度因此大大降低。
C#要求您转换更多类型的数据,尽管这可以使您具有更大的灵活性。
更流行
与Java等其他语言紧密相关
具有VB所不具备的一些功能,例如\“ unsafe \”关键字。
/ *简单的多行注释* /
默认情况下有溢出检查
没有“我的”命名空间
在很少的情况下,选择VB.NET或C#都很重要,主要区别只是语法上,而且许多程序员倾向于视VB.NET为\“劣等”(我认为这只是编程语言方面的问题,但不幸的是,事实就是这样)
也就是说,可能值得从VB.NET切换到C#,因为:
更改不会太困难,因为它们几乎相同
学习另一种语言总是一件好事
如您所说,C#有更多可用的教程,可以节省您的翻译代码
从职业的角度来看,能够说出您已经用C#做过的事情会很有用
为什么不试一下呢?我能想到的唯一缺点是,您一次要学习两件事(SDL / SlimDX + C#),但实际上,C#非常容易。
, 可能值得注意的是ѭ0现在支持
XNA
框架:
入门指南:http://create.msdn.com/zh-CN/education/gamedevelopment/VBSupportForXNA
, SlimDX是一个相对较低级别的库。它使您可以访问DirectX的全部功能,并且可以定位旧的旧硬件以及新的高端产品。这也意味着很难进行设置,并且您需要更多的代码来绘制诸如sprites和text之类的简单内容。
如果从可用性的角度来看,SDL可能是您更好的选择。