【问题标题】:How do I Implement the map in my race game?如何在我的比赛游戏中实现地图?
【发布时间】:2013-02-19 11:23:12
【问题描述】:

您好,我想通过 WinForms 创建一个简单的 2D 赛车游戏(学校项目我必须使用 WinForms,所以请不要推荐 XNA)。

我目前的问题是我需要在 windows 地图中实现我的地图,例如:

我取自:萨斯卡 Map format in 2d racing game

无论如何假设它是一个功能齐全的地图,我如何以什么方式将它添加到我的项目中? 如果我将整个地图放在窗口中,它可能太小并且难以控制汽车,所以我假设我需要将地图切成碎片但我不知道它背后的逻辑是什么以及我如何将它与我的项目,谁能给我解释一下?

【问题讨论】:

  • assuming its a fully functional map 是什么意思?是代码,它会自动更新你的汽车的位置吗?在这种情况下,只需查看该代码并首先尝试理解它。如果这是一个学校项目,你可以通过询问你的老师或同学来获得答案。
  • 我所说的“假设它是一个功能齐全的地图”的意思是地图是完整且准备好的,而不是我的代码。
  • 您是从某处复制粘贴代码,还是下载了 .dll?如果您复制粘贴它,则必须阅读代码并尝试了解它的工作原理以及如何将其绑定到您的游戏。如果它是 .dll,则应该有某种可用的文档来解释这一点,如果没有,我们也无法帮助您。
  • 我没有任何代码人我想了解如何将大地图实现到小屏幕中,所以当我的汽车移动时,地图会调整到汽车位置。
  • 如果地图是图像,您可以将其放置在 PictureBox 控件中,以 100% 缩放并相应地调整图像的位置以模拟移动。

标签: c# winforms logic


【解决方案1】:

确保你实现了 Form 的 Paint 事件(我假设你已经知道如何在 WinForms 上绑定事件)

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
    e.Graphics.DrawImage(Image.FromFile("map.png"), new Point(0, 0))
    e.Graphics.DrawImage(Image.FromFile("car.png"), car.Position)
}

public void Update()
{
    // Update the game here
    this.Invalidate(); // Invalidating the form will force it to redraw its graphics
}

更多信息:Graphics class

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    相关资源
    最近更新 更多