Ich besitze nun PB 4.10
Verfasst: 26.12.2007 00:45
Tachchen liebe PB-Freunde,
der Tag auf den viele von euch soo lange gewartet haben ist gekommen.
Der Weihnachtsmann brachte mir PureBasic 4.10
Natürlich kannte ich mich schon etwas in 4.10 aus, da ich ja hier die meisten Code-Beispiele in 4.x geschrieben sind und so gibt es relativ schnell mein neustes (noch unveröffendlichte) Spiel von 3.3 auf 4.10 zu bringen.
Doch leider gibt es schon ein paar Probleme die auftauchten und ich habe auch gleich ein paar Fragen:
Macors
Ist es nun besser viele Procedureren die nicht sehr groß sind als Marco zu schreiben:
Beispiel:
Warum ich das brauche soll erst mal egal sein, das wichtige hierdran ist ja was schneller ist.
Bei der Procedure wird nur einmal der wert für xx berechnet und dnan in der Procedure als 2 mal xx verwendet.
Bei dem Marco wird im Spiel ja nix übergeben, da das Macro ja für den Compiler ist, dafür ist jedoch zwei mal die selber Formal drin, was dann vllt Zeitverlust bringt.
Alt-TAB und ThreadSafe
Ein guter Grund für 4. war ja, dass die Sprites nicht mehr neu geladen werden müssen wenn man mit Alt-TAB kurz wechselt.
Doch in 4.x treten folgende Probleme auf :
Lasse ich das Programm mit Debugger laufen und gehe dann mit Alt-TAB raus, geht meine EXE einfach aus, (ohne Fehlermeldung, ohne Debuggermeldung), damit läuft der DEbugger einfach weiter.
Lasse ich das programm ohne Debugger laufen, läuft es ohne Probleme.
Schalte ich jedoch den ThreadSafeModus ein (den ich brauche) dann bekomme ich folgende Debuggermeldung wenn ich mit Alt-TAB rausgehe:
"[ERROR] Invalid memory access. (read error a adress 7296)" dabei ist FlipBuffers() rot unterlegt.
lasse ich das programm ohne Debugger laufen stürzt es mit einer WIN-Fehlermeldung einfach ab.
Ich hoffe ihr könnt mir Helfen, damit 4.x langsam zur Primärsprache von mir wird...
der Tag auf den viele von euch soo lange gewartet haben ist gekommen.
Der Weihnachtsmann brachte mir PureBasic 4.10

Natürlich kannte ich mich schon etwas in 4.10 aus, da ich ja hier die meisten Code-Beispiele in 4.x geschrieben sind und so gibt es relativ schnell mein neustes (noch unveröffendlichte) Spiel von 3.3 auf 4.10 zu bringen.
Doch leider gibt es schon ein paar Probleme die auftauchten und ich habe auch gleich ein paar Fragen:
Macors
Ist es nun besser viele Procedureren die nicht sehr groß sind als Marco zu schreiben:
Code: Alles auswählen
Macro ZoomRotateDisplaySprite3DZOOM(Sprite, x, y, xx, w, h)
ZoomSprite3D(Sprite, (xx)*ZOOM, (xx)*ZOOM)
RotateSprite3D(Sprite, (w)+90,0)
DisplaySprite3D(Sprite, (x)*ZOOM, (y)*ZOOM, h)
EndMacro
Code: Alles auswählen
ZoomRotateDisplaySprite3DZOOM(1, x, y, E()\G*(0.80+Sin(Kreis*5*#b)/5), Winkel, Hell)
Bei der Procedure wird nur einmal der wert für xx berechnet und dnan in der Procedure als 2 mal xx verwendet.
Bei dem Marco wird im Spiel ja nix übergeben, da das Macro ja für den Compiler ist, dafür ist jedoch zwei mal die selber Formal drin, was dann vllt Zeitverlust bringt.
Alt-TAB und ThreadSafe
Ein guter Grund für 4. war ja, dass die Sprites nicht mehr neu geladen werden müssen wenn man mit Alt-TAB kurz wechselt.
Doch in 4.x treten folgende Probleme auf :
Lasse ich das Programm mit Debugger laufen und gehe dann mit Alt-TAB raus, geht meine EXE einfach aus, (ohne Fehlermeldung, ohne Debuggermeldung), damit läuft der DEbugger einfach weiter.
Lasse ich das programm ohne Debugger laufen, läuft es ohne Probleme.
Schalte ich jedoch den ThreadSafeModus ein (den ich brauche) dann bekomme ich folgende Debuggermeldung wenn ich mit Alt-TAB rausgehe:
"[ERROR] Invalid memory access. (read error a adress 7296)" dabei ist FlipBuffers() rot unterlegt.
lasse ich das programm ohne Debugger laufen stürzt es mit einer WIN-Fehlermeldung einfach ab.
Ich hoffe ihr könnt mir Helfen, damit 4.x langsam zur Primärsprache von mir wird...