代码之家  ›  专栏  ›  技术社区  ›  Mike Webb

在C应用程序中显示游戏图形的最佳方向

  •  3
  • Mike Webb  · 技术社区  · 15 年前

    我正在做一个小游戏作为一个测试项目,没有什么大不了的。我刚开始研究图形块,但我不确定将图形绘制到屏幕上的最佳方法。

    它将有点像旧的塞尔达,所以使用位图等非常简单。我开始想我可以用drawing.graphics来绘制一个图片框控件,用控件的手柄来绘制,但这看起来很麻烦。我也不确定是否可以使用这种方法的双缓冲。

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

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

    编辑: 我将在图片框中添加当前绘图方式。我有一个tile对象,它只包含tile的像素( 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));
        }
    }
    

    是啊,相当笨重。如有任何建议或意见,我们将不胜感激。

    3 回复  |  直到 15 年前
        1
  •  2
  •   FrustratedWithFormsDesigner    15 年前

    我建议您再看一眼XNA并尝试一些示例。只要你坚持使用2d,用xna制作简单的游戏就很简单了。这个框架在把所有细节都包装在一个易于理解的流程中做得很好,你可以说基本上填补了空白。

    我在8小时内为我儿子做了一个完整的(但非常简单的)Xbox游戏,之前几乎没有什么经验。

    如果你转向3D,事情会变得更加复杂,因为你必须理解各种视图模型、明暗器等等,但是对于2D来说,开始它是非常简单的。

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

        2
  •  0
  •   Adam Driscoll    15 年前

    我真的相信XNA是迄今为止我使用过的最简单的游戏设计框架之一。除此之外,您还可以使用WPF在屏幕上绘制对象。

        3
  •  0
  •   Betamoo    15 年前

    首先,我强烈建议使用 XNA DirectX 游戏开发…

    但是,如果你不想 XNA 也不 DirectX 帮助…然后你将被迫使用 .Net GDI+ 油漆工具…..

    通过这种方式,您可以通过gdi+绘制点、线、圆、矩形、弧、位图、文本等(当然,所有这些都可以在c和.net中使用…)

    您可以创建一个新的简单控件(或使用现有控件,如图像框或表单本身!),则必须重写其 OnPaint(PaintEventArgs e) 功能…那你就用 e.Graphics 想画什么就画什么…


    例子:
    Simple Tetris Game Tutorial in C#


    编辑:
    使用gdi+绘制逐像素图片是一种性能下降!!


    最好是自己画形状(圆形,…)。等)

    推荐文章