basic.pyIch wollte zweimal eine Klasse-Objekt verwenden, aber es passiert nicht
from OpenGL.GL import*
from OpenGL.GLU import*
from OpenGL.GLUT import*
import sys
class Draw:
# def draw_func(self):
# pass
def draw(self):
glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB)
glutInitWindowSize(1000,1000)
glutInitWindowPosition(50,50)
glutCreateWindow(b'Cycle')
glutDisplayFunc(self.draw_func)
glClearColor(0,0,0,1)
gluOrtho2D(-500,500,-500,100)
glutMainLoop()
cycle.py
class Circle(Draw):
def __init__(self,xv,yv):
self.xv=xv
self.yv= yv
def draw_circle(self):
glClear(GL_COLOR_BUFFER_BIT)
glColor3f(1, 0, 0)
glPointSize(3)
for t in arange(self.xv, self.yv, 0.001):
x = 50 * sin(t)
y = 50 * cos(t)
glBegin(GL_POINTS)
glVertex2f(x, y)
glEnd()
glFlush()
def draw_func(self):
self.draw_circle()
cycle = Circle(100,200)
cycle.draw()
cycle = Circle(220,300)
cycle.draw()
Here I PyOpenGL bin mit Grafiken zu lernen, und ich wollte den Kreis verwenden Objekt zweimal, um 2 Kreise zu zeichnen, aber es zeichnet nur einen. Ich weiß nicht, wo mir mein Wissen fehlt. Bitte schlagen Sie mir auch irgendwelche Tutorials vor, um pyOpenGl zu lernen. Ich habe den guten nicht gefunden.
es Fehler in der ersten Zeile hat ‚glClear (GL_COLOR_BUFFER_BIT) Zyklus = Kreis (100,200) cycle.draw() Zyklus = Kreis (220,300) cycle.draw() ' –
@BishwaKarki Welchen Fehler haben Sie bekommen? Der Code hat sich nicht geändert. Nur die Reihenfolge der Anweisungen hat sich geändert. - Siehe die Änderungen der Antwort. – Rabbid76
OpenGL.error.GLError: GLError ( \t err = 1282 \t description = b'invalid Betrieb‘, \t baseOperation = glClear, \t cArguments = (GL_COLOR_BUFFER_BIT,) ) Dies ist der Fehler –