你好我開始到目前爲止,我在這個片段中傳來:與Tao.Framework(C#的Open GL)簡單的動畫更新緩衝區不使用<code>C#</code>,<code>Tao.Framework</code>和<code>Tao.Plataform.Windows SimpleOpenGlControl</code>,<code>OpenGL</code>工作
// in Form.Load handler
Gl.glOrtho(0, 10, 0, 10, -1, 1);
Gl.glClearColor(0f, 0f, 0f, 0f);
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex2f(0f, 0f);
Gl.glVertex2f(0f, 1f);
Gl.glVertex2f(1f, 1f);
Gl.glVertex2f(1f, 0f);
Gl.glEnd();
到目前爲止, 太好了。現在我試圖添加一些動畫效果。我正在試圖將廣場像球移動到我客戶區域的四肢。我的代碼是這樣的:
Gl.glOrtho(0, 10, 0, 10, -1, 1);
new Thread(() =>
{
int x = 3, incX = 1;
int y = 7, incY = 1;
while (true)
{
Gl.glClearColor(0f, 0f, 0f, 0f);
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex2f(x + 0f, y + 0f);
Gl.glVertex2f(x + 0f, y + 1f);
Gl.glVertex2f(x + 1f, y + 1f);
Gl.glVertex2f(x + 1f, y + 0f);
Gl.glEnd();
simpleOpenGlControl1.SwapBuffers();
if (x == 0 || x == 9) incX *= -1;
if (y == 0 || y == 9) incY *= -1;
x += incX;
y += incY;
Thread.Sleep(1000);
}
}).Start();
但是有一些非常錯誤。我的照片不斷在兩個特定的幀之間切換。我打印了兩個框架。檢查出來:
http://www.jonataspiazzi.xpg.com.br/outpost/example_frame.png
仍具有以下細節。儘管上面的第一幀是正確的,但沒有顯示出任何變化,我的意思是平方不移動。
我該如何解決?或者如何構建一個簡單的動畫?
如何使用我需要使用此代碼工作? –
我已將必要的使用指令添加到我的帖子中。 –
謝謝小提琴手,花了一段時間來測試這個,但現在它工作。但我改變了框架,現在我不能把紋理。我打開這個新的問題:http://stackoverflow.com/questions/22771476/the-renderer-is-not-using-the-texture-in-open-tk請,如果你有時間,有一個看看我的問題。 –