【问题标题】:Implement physics in android game在安卓游戏中实现物理
【发布时间】:2017-02-16 23:21:18
【问题描述】:

我在 android studio 中编程,我想制作一个带有一些物理特性的游戏。我不知道如何实现我的游戏的物理特性。例如,我想用一个球做一个游戏,它可以跳过一些矩形,可以与它们碰撞,并且可以踩到它们,就像真正的物理一样。 我该如何实施?

public abstract class GameObject {

protected double vX;
protected double vY;
protected double mass;
protected MyPoint centerOfMass;
protected double accelerationX;
protected double accelerationY;


protected void update()
{
    if(Math.abs(vX)<0.05)
    {
        if(Math.abs(accelerationX)==0.05)
        {
            vX=0;
            accelerationX=0;
        }
    }
    vY+=accelerationY;
    vX+=accelerationX;
    this.centerOfMass.setX(this.centerOfMass.getX()+vX);
    this.centerOfMass.setY(this.centerOfMass.getY()+vY);
}

protected void collide()
{
    // no idea ...
}

我不知道如何实现碰撞方法,因为有很多选择可以覆盖,比如球在矩形上方,还是在矩形下方,或者他从左侧落下时来了直,或跳跃时来。

另外,我不想用像AndEngine这样的物理引擎,我想自己编程。

有人能给我一些关于如何实现它的想法吗?谢谢!!

【问题讨论】:

  • 游戏中碰撞检测的核心是数学。可以使用方程来描述数学原始对象。我建议阅读 MDN 上的 2D collision detection 文章。
  • 你应该拿一本关于这个主题的(好)书——在上完游戏开发的高级 cs 课程后,我的书架上有 Ian Millington 的Artificial Intelligence for Games 的副本。它有几章关于碰撞检测(以及分解实现的伪代码)。另外,那篇 MDN 文章看起来也不错。
  • 非常感谢。这篇文章正是我想要的。

标签: java android physics game-physics rect


【解决方案1】:

如果您想要一些非常详细的东西,您可以在文件夹中添加可绘制对象作为纹理,您也可以使用其他图像或从 0 开始使用 .xml 可绘制对象。 使用图像和 .xml 可绘制对象的自定义按钮和背景。 全部进入drawables文件夹。

我从未在 android studio 中开发过游戏,但人们建议使用 C++ 编程来进行游戏以及 Visual Studio 或 unity 2d 之类的东西

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多