1

我只是在为我的 android 手机玩 Pong 克隆。我可以使用到目前为止的代码在屏幕上显示此图像:

在此处输入图像描述

由于某种原因,下面的代码不会导致球/点在屏幕上移动。

@Override
public void onDrawFrame(GL10 glUnused) {
    // Clear the rendering surface.
    glClear(GL_COLOR_BUFFER_BIT);

    table.draw(shaderProgram);

    paddle.bindData(shaderProgram);
    paddle.draw(shaderProgram);


    ball.bindData(shaderProgram);
    ball.draw(shaderProgram);
    ball.translate(0.1f);
}

我知道最好使用模型矩阵来移动东西,但我只是在完善它之前玩弄它。无论如何,这是 ball.translate 方法()

public void translate(float amount)
{
    for(int i=0; i<VERTEX_DATA.length; i++)
    {
        VERTEX_DATA[i] += amount;
    }
}
  • 据我了解,onDrawFrame() 在每次帧更改时都会被调用
  • 球对象包含顶点数据
  • ball.bindData() 将顶点数据放入本机内存并将其链接到着色器中的属性。
  • ball.translate() 更新球对象中的顶点数据,然后将所有内容再次绑定到着色器并重新绘制。
4

0 回答 0