OpenGLView : drawRect() blockt Variable

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2020 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • OpenGLView : drawRect() blockt Variable

    Hallo, ich hoffe ich habe noch Freunde bei euch,
    folgendes Problem: callList() funktioniert, da ich aber nicht nur ein Bild darstellen will, brauche ich Verzweigungen, z.B

    Quellcode

    1. if(_sphereState)
    2. {
    3. NSLog(@"%ld \n",[self sphereState]);
    4. if(glIsList(sphereList)) glCallList(sphereList);
    5. }
    Wenn ich sphereState = 0 setze wird nichts gezeichnet, bei 1 schon.
    in drawRect wird der Wert mit dem Defaultwert überschrieben.
    Ich habe auf Sierra ein ähnliches Programm geschrieben, das hat funktioniert, der Unterschied in den Einstellungen :
    ich muss "Inherit Module From Target" einschalten, sonst wird nichts gezeichnet.
    Ein weiterer Unterschied, ich muss die Listen in prepareOpenGL erstellen,
    das ist aber kein Problem, da awakeFromNib des Appdelegate zuerst aufgerufen wird.
    Dazu muss ich ein .plist Methode schreiben, die aber sehr gut dokumentiert ist [Quick Start for Property Lists]:

    Hoffentlich habt ihr eine Lösung sonst muss ich das Projekt vergessen.
    Gruss Uwe
    Als ich ein kleiner Junge war, habe ich mir gedacht: Wenn ich groß bin möchte ich so sein wie ich.
  • Hi Wolf, hoffentlich bist du nicht die Grossmutter.
    Ich kann das Problem nicht genauer beschreiben, die Wirkung ist, dass eine Variable zur Laufzeit nicht veränderbar ist (readonly).
    Bei meinem jetzigen Problem geht es darum ein dreidimensionales Bild zu drehen und zu skalieren, die Schieber reagieren nicht, das Bild verharrte in der Position der Anfangswerte.
    Da ich das Projekt nicht abschreiben will, habe nach einer anderen Möglichkeit gesucht und eine gefunden: NSTimer .
    Es funktioniert, der Nachteil ist, dass ich nur einen Timer installieren kann, es sei denn ich kenne mich mit NSRunLoop aus, da reicht aber mein mageres Fachwissen nicht aus.
    Es bedarf einer aufwendigen Logik, da je nur immer ein Objekt bedient werden kann.
    Das nehme ich mir jetzt vor.

    Uwe
    Als ich ein kleiner Junge war, habe ich mir gedacht: Wenn ich groß bin möchte ich so sein wie ich.