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

我想知道是否有人对此有经验,可以给我一些建议或为正确的方向指明正确的方向,以及做这种事情的最佳方法。

提前致谢。

坦率。

最佳答案

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

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

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


画迷宫背景
在ballX,ballY上绘制一个球(两个浮点变量)
将ballSpdX添加到ballX并将ballSpdY添加到ballY(速度)


现在检查按键...


如果留下方向键,则减去少量的ballSpdX
如果方向键位于左上角,则减去少量的ballSpdX和ballSpdY
等等


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


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


通过分别处理垂直和水平运动,可以轻松地进行碰撞,因为您知道球需要反弹到哪一侧。

最后nu至少是摩擦,摩擦只是在每个帧中执行:ballSpdX * =摩擦;
那里的摩擦约为0.99。这可以确保由于摩擦而使每帧的球速度变小;

希望这对您有所帮助

关于c# - C#手机游戏开发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/322272/

10-11 16:16