2

我目前正在尝试为 WM 5.0 设备实现一个大理石迷宫游戏,并且一直在努力开发一个工作原型。原型需要用户使用方向键控制球,并显示逼真的加速度和摩擦力。

我想知道是否有人有这方面的经验,可以给我一些建议或指出正确的方向,什么是必要的,以及做这种事情的最佳方式。

提前致谢。

坦率。

4

7 回答 7

1

阅读您的答案时,我没有感觉到您在寻找游戏框架,而是更多:如何轻松地为具有加速度和摩擦力的球建模。

为此,您不需要完整的物理框架,因为它相对简单:

首先创建一个每秒触发 30 次的计时器,然后在计时器回调中执行以下操作:

  • 绘制迷宫背景
  • 在 ballX、ballY 处画一个球(都是浮点变量)
  • 将 ballSpdX 添加到 ballX 并将 ballSpdY 添加到 ballY(速度)

现在检查钥匙...

  • 如果方向键是左,则减去少量的ballSpdX
  • 如果方向键是左上角,则减去少量的ballSpdX和ballSpdY
  • ETC

对于碰撞,请执行以下操作:

  • 首先将球沿水平方向移动。然后检查与墙壁的碰撞。如果检测到碰撞,则将球移回其先前位置并反转速度:ballSpdX = -ballSpdX
  • 将球沿垂直方向移动。然后检查与墙壁的碰撞。如果检测到碰撞,则将球移回其先前位置并反转速度:ballSpdY = -ballSpdY

通过分别处理垂直和水平运动,碰撞更容易,因为你知道球需要反弹到哪一侧。

最后一个不是最不重要的摩擦,摩擦只是每帧都这样做:ballSpdX *=摩擦;摩擦力大约是 0.99。这样可以确保球的速度由于摩擦而在每一帧都变小;

希望这有帮助

于 2009-10-05T10:05:37.680 回答
0

我建议查看 XNA Studio 3,它内置了对 PC、Xbox 360 和移动设备的支持,它是 Microsoft Visual Studio 的官方免费衍生产品。

http://creators.xna.com/en-US/

http://blogs.msdn.com/xna/

如果你四处搜索,人们已经使用物理学写了教程(这个是速度) http://www.xnamachine.com/2007/12/fun-with-very-basic-physics.html

于 2008-11-26T21:45:59.323 回答
0

试试XFlib。它是用 c++ 编写的,但不幸的是,移动设备上最酷的东西必须是 c++ 编写的。该网站有一些非常酷的免费游戏。您还可以看到大部分游戏的来源。许多人拥有你想要的物理学。

于 2008-11-26T21:48:30.927 回答
0

不幸的是,XNA 不支持 windows 移动平台。但是,您似乎对在 WM 设备上绘图的技术问题没有问题,而是对实现基于物理的运动所需的逻辑有疑问,那么考虑使用 XNA 对物理和运动进行原型制作并不是一个坏主意代码。

在creators.xna.com以及“gamedev.net”上查看一些教育主题

于 2008-11-26T21:49:27.727 回答
0

我不知道这是否有帮助,但我在 google 代码上看到了适用于 Android 平台的 Marble 应用程序。在这里查看它,它可能会对游戏的实际逻辑产生一些见解。

该代码是开源的并用java编写(使用android sdk),但它可能很有用。此外,为了更好地理解代码,请在此处查看SensorsManager、SensorEvent 等的文档

我不建议您使用与此应用程序相同的架构。

于 2009-09-09T08:57:04.910 回答
0

如果您不知所措,尝试使用“更轻”的原型工具是没有错误的。我会尝试 Torque Game Builder - 它会输出 XNA,尽管可能不适合您的平台。

于 2008-11-27T07:05:19.367 回答
0

在 Windows Mobile SDK 示例(也请查看 WM 6.0 SDK)中,有几个游戏应用程序。其中一个是简单的益智游戏;不多,但这是一个起点。

在游戏开发中使用物理并不特定于 Windows Mobile。你可以找到关于这个主题的大量文献。我现在想到了这个。如果你是认真的游戏开发,在任何平台上,你都应该先做一点研究。

于 2008-11-27T08:08:06.277 回答