c# - C# App 中显示游戏图形的最佳方向

标签 c# .net graphics gdi+

我正在制作一款小游戏作为测试项目,没什么大不了的。我刚刚开始并正在处理图形片段,但我不确定将图形绘制到屏幕上的最佳方式。

它会有点像旧的塞尔达传说,使用位图等非常简单。我开始考虑我可以使用 Drawing.Graphics 和控件中的 Handle 来绘制 Picture Box 控件,但这看起来很麻烦。我也不确定我是否可以通过这种方法使用双缓冲。

我查看了 XNA,但现在我想使用一种简单的方法来显示所有内容。

所以,我的问题。使用当前的 C# windows 控件和框架,显示游戏图形的最佳方法是什么(即图片框、构建自定义控件等)

编辑: 我会将我当前的绘画方式添加到图片框。我有一个 Tile 对象,它只包含图 block 的像素 ( List< List< Color>> texture; ),仅此而已。然后,我通过遍历像素并使用具有当前像素颜色和由比例变量指定的大小的画笔使用 FillRectangle 方法将其绘制到图片框:

int scale = 5;
for (int i = 0; i < texture.Width;)
{
    for (int j = 0; j < texture.Height; ++j)
    {
        int x = i * scale;
        int y = j * scale;
        picBox.FillRectangle(new SolidBrush(currentPixelColor), new Rectangle(x, y, scale, scale));
    }
}

是的,非常麻烦。欢迎提出任何建议或意见。

最佳答案

我建议您再看看 XNA 并尝试一些示例。只要坚持使用 2D,用 XNA 制作简单的游戏真的很简单。该框架在将所有细节包装在一个易于理解的流程中做得非常出色,可以说,您基本上可以在其中填写空白。

我在之前几乎没有经验的情况下,只用了 8 个小时就为我儿子完成了一个完整(但非常简单)的 Xbox 游戏。

如果你转向 3D,事情会变得更加复杂,因为你必须了解各种 View 模型、着色器等,但对于 2D,上手真的很简单。

2D 的另一个优点是所需的工具更容易获得。我使用 Photoshop 制作了所有图形,声音是我使用 Windows 录音机录制的 MP3 和语音。对于 3D,您需要复杂的工具来构建和导出模型等。

关于c# - C# App 中显示游戏图形的最佳方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960061/

相关文章:

c# - 当用户更改对话框大小时,如何设置 wpf 文本框自动调整大小?

c# - 在控制台应用程序中调用 HttpClient.GetAsync - 死锁

opengl - 如何防止 3D 模型表面出现锯齿状边缘?

linux - svgalib : cant see anything

C#- ToLower() 有时会从字母 "I"中删除点

c# - 如何将哈希表通过管道传递给需要字典的 cmdlet?

c# - C# 中的 'cross-thread operation error' 需要帮助

.net - 如何在 .net MVC 3 中使用角色测试授权属性?

.net - FTP 与自动数据交换应用程序一起使用是否可靠?

c# - 在 C# 中使用鼠标单击在图片框上绘制线条