openGL Button klicken -> Neues Fenster öffnet sich...



  • Nabend.

    Ich wäre euch für Hilfe echt sehr dankbar!

    Danke...

    mfg pixelfehler



  • mouse input/selection in opengl ist nicht so einfach, aber es gibt ja NeHe ...
    http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=32
    http://nehe.gamedev.net/lesson.asp?index=07



  • Hi,

    danke schonmal..

    gibt es so anleitungen und so seiten auch auf deutsch?

    danke schon einmal

    mfg pixelfehler





  • cool, danke dann werde ich da mal rum stöbern...

    schon mal frohes fest, falls ich keine fragen mehr habe 😉

    :xmas1: :xmas2:



  • Hallo nochmal, irgendwie finde ich dort nichts passendes.

    Ich schildere noch einmal mein Problem.

    Ich habe unten in der ecke einen button gezeichnen. Wie folgt.

    glVertex2f(715,605);
    glVertex2f(855,605);
    glVertex2f(855,585);
    glVertex2f(715,858);

    Nur irgendwie habe ich jetzt eine komplette Gehirnblockade 😞 🙄 ... Und habe keine Idee, wie ich mit der toggle funktion jetzt ein neues Fenster öffnen kann.
    Also dass ich mit links draufklicke und sich ein extra fenster öffnet.

    Ich fänds echt nett, wenn mir weiter geholfen wird. Dank euch.

    pixelfehler



  • Ist dein Problem jetzt die If Bedingung mit der du abfragst, ob der Mauszeiger über dem Knopf ist?
    Musst nur checken, ob der in x Richtung zwischen den seitlichen Rändern liegt und in y zwischen dem oberen und dem unteren Rand.
    Wenn das gilt rufst du die Funktion zum Öffnen eines neuen Fensters aus.
    Wenn du die nicht kennst, musste einfach per Google nach suchen, sollte man schnell finden(kenne sie selbst nicht)



  • meinst du sowas in der richtung?

    if(x>715,y>585){
    if(x<855,y<605){
    CreatWindow();
    }}
    

    so könnte das ja theoretisch aussehn... muss ich nachher mal probieren wenn ich wieder da bin. Danke schonmal. Ich meld mich noch einmal.

    lg pixelfehler



  • So,

    ich hab jetzt noch rum probiert und gegooglet, aber irgnedwie klappt das nicht, wie es soll... 😞

    Das ist meine extra Funktion für das Fenster

    void Anleitung()
    {
    	glutCreateWindow("Anleitung");
    	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    	glutInitWindowSize(WINDOWSIZE_ANX,WINDOWSIZE_ANY); 
    	glutInitWindowPosition(WINDOW_STARTORT_ANX, WINDOW_STARTORT_ANY); 
    	//glMatrixMode(GL_PROJECTION);
    	//gluOrtho2D(0,X[1],Y[1],0);
    	//glClearColor(1.0,1.0,0.8,1.0); //Hintergrundfarbe setzen
    	//glClear(GL_COLOR_BUFFER_BIT); //Einschalten
    
    	glEnd();
    	glFlush();
    }
    

    und dies habe ich in der mouse funktion mit rein getan

    if((x>710)&&(x<860))
    		{
    			if((y>580)&&(y<610))
    			{
    				Anleitung();
    			}
    		}
    

    aber es kommt nichts bei rum!

    Manchmal öffnet er ein weisses Fenster wenn ich den Button betätige, aber dann kann ich nichts mehr machen und muss es mit dem STOP Button von VisualStudio beenden.
    Aber meistens kackt das programm einfach nur ab, wenn ich den Button betätige 😞

    Ich weiss nicht mehr weiter... Seht ihr einen Fehler?

    Auf dem angehangenen Bild seht ihr noch, was in der Konsole angezeigt wird.

    http://pichost4you.de/pict//211112044b2f49f448f66.jpg

    Danke,

    lg pixelfehler



  • hmmm mybe ist dein Code tatsächlich veraltet, allerdings habe ich von OpenGL (noch) keine Ahnung.

    Ich denke, du öffnest immer wieder ein Fenster.
    Denn wenn dein cursor über dem Button ist, ist die ifabfrage IMMER richtig, also z.B. 23424234 mal pro ssekunde, das wird ihn in die knie zwingen

    verknüf das öffnen des fensters mit dem klicken der maus! dann passierst nur wenn du klickst


Anmelden zum Antworten