SpriteOutPut() ScreenOutPut() auf MacOS

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

SpriteOutPut() ScreenOutPut() auf MacOS

Beitrag von Xaby »

Hallo Leute,

wollte mal fragen, ob jemand die 2D-Drawing-Befehle auf einem Mac in einem Screen benutzt. Oder fahren heute alle MacUser Windows :mrgreen:

Meine Idee ist, falls der Befehl nicht funktioniert, den Umweg über ein #Image zu machen und auf das #Image zu zeichnen und dieses dann mit DrawImage() auf dem Screen darzustellen.

Allerdings ist die Frage, wie man ein #Image auf ein #Sprite packen kann, ohne das Sprite mit DrawImage() zu bemalen, denn dieser Befehl benötigt ja wieder den SpriteOutput()

Denkbar wäre noch SaveImage() und LoadSprite()
aber LoadSprite() funktioniert bei mir nicht richtig.
Der Befehl wird zwar ausgeführt, aber das Resultat ist ein leeres schwarzes Sprite(). Ich nutze ein WindowsXP Sp2 mit nVIDEA-Grafik.

Ich kann den Umweg bzw. muss den Umweg über den oben beschriebenen Weg gehen. Also LoadImage() nutzen und anschließend das Image mit DrawImage auf das Sprite() packen.

Nun meine Frage, ob es eine andere Methode gibt, ein Image direkt in ein Sprite umzuwandeln. Und wie die MacNutzer mit 2D-Drawing-Befehlen im Screen zurecht kommen.

:roll:
Kinder an die Macht http://scratch.mit.edu/
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

SpriteOutput() geht doch auf jedem OS, oder nicht? Und mit dem OpenGL Subsystem geht es ja jetzt auch auf jedem OS, falls das OpenGL Subsystem existiert:

http://www.purebasic.fr/german/viewtopic.php?t=16966
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Schau mal in die PureBasic-Hilfe

>>> Referenz-Handbuch > Übersichten > Betriebssystemabhängige Befehle

(und ich bekomme das SubSystem nicht aktiviert, wie mache ich das?)
:oops:
Kinder an die Macht http://scratch.mit.edu/
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Xaby hat geschrieben:Schau mal in die PureBasic-Hilfe

>>> Referenz-Handbuch > Übersichten > Betriebssystemabhängige Befehle

(und ich bekomme das SubSystem nicht aktiviert, wie mache ich das?)
:oops:
Ja da weiß ich nicht ob das vllt. falsch oder nur zum teil richtig ist was dort steht (Was nutzt denn PureBasic unter Mac OS? SDL? Dann dürfte es doch das gleiche sein wie unter Linux).

Subsystem: OpenGL, nicht den vollen Pfad.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

DarkDragon hat geschrieben: Subsystem: OpenGL, nicht den vollen Pfad.
Ich verstehe eh nicht, wieso die IDE da keine DropDown-Liste mit den verfügbaren Subsystemen macht.
Kann doch nicht so schwer sein die Ordner auszulesen...
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

HeX0R hat geschrieben:
DarkDragon hat geschrieben: Subsystem: OpenGL, nicht den vollen Pfad.
Ich verstehe eh nicht, wieso die IDE da keine DropDown-Liste mit den verfügbaren Subsystemen macht.
Kann doch nicht so schwer sein die Ordner auszulesen...
Was ist wenn du 2 Subsysteme auswählen willst? Dann müsste man ja jede erdenkliche Kombination aus Subsystems dort anzeigen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Wird das überhaupt unterstützt ?
Kann ich mir nicht vorstellen, die meisten würden sich eh "beissen".
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

HeX0R hat geschrieben:Wird das überhaupt unterstützt ?
Kann ich mir nicht vorstellen, die meisten würden sich eh "beissen".
:wink: Ich denke schon, denn immerhin kann man ja auch das normale PB Subsystem mit anderen mischen. Wenn man nun 2 Subsysteme verwenden will: Das eine optimiert die String Befehle, das andere ist ein weiterer Renderer für Screen/Sprites/3DSprites.

Gerade für PBOSL und viele andere Userlibs wäre das nützlich.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Wie soll das mit mehreren Subsystemen funktionieren, wenn man nur einen Subsystem-Ordner angeben kann und damit definiert, welches Subsystem man beutzen möchte?

:?
Kinder an die Macht http://scratch.mit.edu/
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Xaby hat geschrieben:Wie soll das mit mehreren Subsystemen funktionieren, wenn man nur einen Subsystem-Ordner angeben kann und damit definiert, welches Subsystem man beutzen möchte?

:?
Wie will man sonst UserlibThreadsafe von den Tailbite libs mit OpenGL kreuzen? Habs gerade mal getestet, scheint wirklich nicht zu funktionieren. Naja, es gibt Sachen da funktioniert so ein System (z.B. Mehrfachvererbung).

Ich dachte man hätte dies von vornherein vorgesehen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten