【问题标题】:Random direction without visually rotating shape opengl-es android没有视觉旋转形状的随机方向opengl-es android
【发布时间】:2015-08-05 12:43:39
【问题描述】:

我希望能够为形状分配一个随机方向以正常速度进入。

我尝试为平移的 x 和 y 值分配一个随机数,但这会导致形状有时移动得太快或只是从屏幕上消失。

有没有一种方法可以在不旋转形状的情况下为形状选择随机方向移动(至少就用户而言)?

还有一种方法可以在调用事件(即:按钮单击)时重新生成随机数,从而改变方向?

编辑:刚刚检查。使用带有随机角度的旋转功能会在随机方向上射出正方形,但是还有没有办法在不改变形状方向的情况下做到这一点?

【问题讨论】:

    标签: android opengl-es rotation translate-animation


    【解决方案1】:

    好的,所以您想要一个形状在 x、y 或 z 正方向或负方向上移动?

    如果您希望这是随机的,请使用 Random 类。从这里您可以使用 Random.nextInt(1),它可以是 0 或 1,如果结果为 0,则将值设置为 -1。

    +1 或 -1 现在用于您的方向。

    现在您知道了物体的运动方式,您可以简单地将其乘以物体的速度

    这是一些粗略的代码

    随机 rand = new Random(); int 方向 = rand.nextInt(1);

    如果(方向 == 0)方向 = -1;

    形状 theShape.position.x += 方向 * theShape.speed

    这可能不是您的界面设置方式(例如 theShape.position 或 theShape.speed),但想法是一样的

    再次阅读后,我认为您正在尝试旋转您的形状哈哈,旋转不仅仅是添加到 x 和 y 值。您在应用程序中使用矩阵吗?如果不是,您应该使用 trig 来计算 x 度旋转后的 x 和 y 值

    【讨论】:

    • 在模拟器上运行似乎非常缓慢,我总是让它朝着同一个方向发展 =(
    • 如果您想制作游戏,您将需要使用实际的手机,无论如何模拟器都非常慢。仅用于测试不同的屏幕尺寸/密度。尝试 rand.nextInt(2);我不记得是 0,1,2 还是 0,1
    猜你喜欢
    • 1970-01-01
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多