【问题标题】:How to make a circle to move in C#?如何在C#中制作一个圆圈来移动?
【发布时间】:2020-12-14 00:42:04
【问题描述】:

我想用 C# 写一个像 pacman 这样的简单游戏来学习 新语言。 但是,我不知道如何使圆圈移动? 需要C#的哪一部分知识?

【问题讨论】:

  • ...........大多数。
  • “一个简单的游戏,比如吃豆人”是一个你不应该在错误的人群中扔掉的评论。它可能会让你大吃一惊。
  • @bzlm: 与文明或魔兽世界相比,pacman非常简单。
  • 确实如此。相对而言,你不会得到很多更简单的游戏。
  • ian:我建议您尝试一下。你会发现很难做到正确(而且玩起来很有趣)。如果你将它放在适当的上下文中,在专有硬件上进行汇编黑客攻击,那将是一项了不起的壮举。

标签: c#


【解决方案1】:

您应该查看来自 Microsoft 的 XNA Game Studio。它是专门针对编写游戏的 Visual Studio 版本。您使用 C#,但可以免费获得很多东西 - 图形、声音、计时......

Here's a tutorial for making a ball move in XNA.

【讨论】:

  • 记住他想从头开始学习语言,也许把他指向XNA会是个坏主意,不知道。也许先了解基础知识是个好主意! :)
  • 我正在考虑提出这个建议,但最近花了一些时间我不得不说你需要一些 C# 的背景知识,以及其他的东西,比如矩阵转换,才能开始就可以了。
【解决方案2】:

最简单的方法是在计时器控件的每一次滴答声中稍微移动你的圆圈。

【讨论】:

  • +1 用于实际回答问题,而不是将完全独立的框架强加给只想学习语言的学习者。
  • 首先他需要弄清楚如何渲染一个圆圈......呵呵
【解决方案3】:

如果您想学习一门新语言,请远离大惊小怪,只关注最重要的部分。

了解以前的编程语言会有很大帮助,尤其是其中一种是 Java。

您不需要为此查看 XNA,您真正需要的只是启动 Visual Studio,创建一个新的 Windows 窗体,拖到一个 PictureBox 并开始使用 KeyEvents。

您的游戏不必非常棒,您也可以学习 C# 和 .NET 的基础知识。而且你当然不需要在 XNA 的丛林深处挖掘!

一旦您使用一两个 PictureBox 建立并运行您的表单并且您已经征服了事件系统,请查看 .NET 的其他基本部分,这些部分可以让您的生活更轻松。属性、泛型、数据源等等。

【讨论】:

    【解决方案4】:

    嗯,对于像这样的简单单人游戏,您需要了解的一些最重要的事情是数据结构和 GDI。

    数据结构很重要,因为您需要存储信息,例如地图的外观?墙在哪里?你能从一端走到另一端吗?地图是如何自己绘制的?

    GDI 在 C# 中用于绘图。这使用Graphics 上下文。您会在网上找到很多示例,我建议您查看BobPowell.Net GDI+ FAQ 以避免一些常见错误。

    【讨论】:

      【解决方案5】:

      您可能想了解 XNA - http://creators.xna.com/

      只需下载 studio,安装,然后运行 ​​Visual Studio C#(我的是 Express Edition)。

      因此,当您运行时,您会创建一个新的 Windows 游戏项目,并且您已经创建了您的第一个游戏。

      很高兴阅读一些关于 XNA 的书籍和文章。

      书籍:Microsoft XNA Game Studio 2.0:立即学习编程!由 Rob Miles 撰写。

      【讨论】:

      【解决方案6】:

      如果您的意思是如何以圆周运动移动物体,那么您只需要数学知识:

       int circlePosX = centerX + Math.Cos(degrees) * radius;
       int circlePosY = centerY + Math.Sin(degrees) * radius;
      

      半径是你想要的圆有多大,度是物体移动的圆的位置。

      【讨论】:

      • 啊啊啊,我记得过去的美好时光,我在吃豆人机器上砸了四分之一,这样我就可以看着他转圈。那是过去的美好时光。
      • 哈哈哈...这也是我想知道的...(他为什么要在游戏中做圆周运动)。我从来没有意识到他指的是吃豆人。谁曾将 pacman 称为“那个圈子”:^)
      【解决方案7】:

      这是一个关于雷达类型游戏的问题的答案,该游戏一般演示了如何在 C#/WinForms 中使用 GDI+ 执行此操作(带有示例和源代码):

      What would be the best way to simulate Radar in C#?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-24
        • 2022-06-29
        • 2015-12-10
        相关资源
        最近更新 更多