我只是在为我的 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() 更新球对象中的顶点数据,然后将所有内容再次绑定到着色器并重新绘制。