Mark
Cinema4D
Hi!
i=i+1; ist das gleiche wie i++;
Die Fehlermeldung ist klar: beim letzten Durchlaufen der Schleife ist obj->GetNext() gleich Null, d.h. obj wird Null. Eine Zeile später fragst Du aber dieses nicht existierende Objekt nach seinem obj->GetFirstTag(), das ergibt den Fehler. Also z.B. die letzte Zeile der Schleife mit "if (obj)" nur bei existierendem Objekt ausführen lassen.
Dies gilt übrigens auch für den Anfang Deines Scipts: wenn kein Objekt selektiert ist, sollte es Abbrechen. Mit z.B. "if (!obj) return false;".
Die Tags kannst Du - wie die Objekte - mit GetNext durchlaufen. Mit "instanceof(ttag,TextureTag)" kannst Du die Texture-Tags dabei herausfiltern und bearbeiten.
Bzgl. Dialog schau Dir am besten die "Example Files" der Coffee SDK an: "Dialogs"
Liebe Grüße,
Mark.
i=i+1; ist das gleiche wie i++;
Die Fehlermeldung ist klar: beim letzten Durchlaufen der Schleife ist obj->GetNext() gleich Null, d.h. obj wird Null. Eine Zeile später fragst Du aber dieses nicht existierende Objekt nach seinem obj->GetFirstTag(), das ergibt den Fehler. Also z.B. die letzte Zeile der Schleife mit "if (obj)" nur bei existierendem Objekt ausführen lassen.
Dies gilt übrigens auch für den Anfang Deines Scipts: wenn kein Objekt selektiert ist, sollte es Abbrechen. Mit z.B. "if (!obj) return false;".
Die Tags kannst Du - wie die Objekte - mit GetNext durchlaufen. Mit "instanceof(ttag,TextureTag)" kannst Du die Texture-Tags dabei herausfiltern und bearbeiten.
Bzgl. Dialog schau Dir am besten die "Example Files" der Coffee SDK an: "Dialogs"
Liebe Grüße,
Mark.