OpenWindowedScreen erstellt ein separates Fenster.

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

von dem problem hab ich schon vor längerem gehört,
müßte man mal das englische bug-forum checken, obs da überhaupt schon drin steht.

ich weiß nicht, wie flexibel und performant das Imagegadget unter Linux ist,
aber vom Prinzip her würde ich nen Screen vorziehen,
denn mit Images stößt du schon beim zweiten Layer an die Grenze,
weil es keine Tranzparenz gibt bzw. keine gadgets übereinander.
per DrawImage würde das zwar gehen, ist aber EXTREM langsamer als Sprites.

mal abwarten was die 4.3 für Linux mitbringt, da sollte sich eigentlich auch in richtung Sprite3D einiges getan haben (hoffe ich zumindest)

die Unterschiede Win/Linux-Version kannst du minimieren,
indem du grundsätzlich ein extra Fenster für den Screen verwendest,
und ein zweites für die Steuerelemente.
in der Linux-Version würde dann lediglich der zweite OpenWindow-Befehl wegfallen.

und was das ExamineMouse betrifft:
das brauchst du für ne Screenmaus aus nem eigenen Sprite,
und es beschränkt die Maus auf den Screen, du musst sie extra wieder freigeben am rand.
für nen Editor kannst du drauf verzichten, benutz einfach die Fenstermaus.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Beitrag von GreyEnt »

Vielen Dank Torsten.
Werde heute Abend mir anschauen wie es geht. :)

@Kaeru
Hallo. Schön von Dir zu lesen.
Ich fürchte ich hab nicht ganz verstanden was ich mit der Maus anstellen muß.
Könntest Du mir das evtl. am Code erklären?

Gruß
Dieter
Ich progge PureBasic weil Jägermeister nen dicken Kopf macht.
tmjuk
Beiträge: 380
Registriert: 30.06.2006 00:10
Wohnort: Backaryd, Schweden

Beitrag von tmjuk »

@Kaeru
Ja, das ist mir schon klar.
Da ich aber einen Code wollte, der ohne grosse Änderungen unter Linux und Windows funktioniert, war dies eine brauchbare Alternative.
Zum Spiele erstellen ist es nichts :lol:

Es ist richtig, dass das nicht die beste Lösung ist. Und man muss eben achten, das man die Leistung nicht zu weit runter schraubt.

Torsten
PB 4.51 32 Windows Vista, 32 XP, PB 4.51 32 Ubuntu 10.10
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Servus,

Ich stand vor fast einem Jahr ebenfalls vor dem Problem und hatte es mit einem Workaround gelöst.
http://www.purebasic-lounge.com/viewtopic.php?t=4933

MfG

Wolf
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Dazu sollte man aber sagen, dass man dann keine Gadgets oder ähnliches mehr im SDL Fenster platzieren kann (Also kein Workaround für alles, nur für 95%). Aber da das wohl eh nie jemand braucht außer ganz wenige. Genau so hab ich das bei Dangerous Snowboarding damals auch gelöst :-) .
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.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

GreyEnt hat geschrieben:@Kaeru
Hallo. Schön von Dir zu lesen.
Ich fürchte ich hab nicht ganz verstanden was ich mit der Maus anstellen muß.
Könntest Du mir das evtl. am Code erklären?
die koordinaten kannst du mit WindowMouseX/Y() abfragen.
für die Clicks könntest du Events nehmen, da weiß ich aber nicht genau, wie das funktioniert (und auch noch Cross-Platform).

ich hab da eher Win-only programmiert, und Virtual Keys genommen.
(http://www.purebasic.fr/german/viewtopic.php?t=11280)
etwas vergleichbares müßte es auch unter Linux geben,
aber dann hättest du wieder zwei verschiedene Abschnitte, auch wenn die kurz wären.
(die könntest du mit nem CompilerIf trennen...)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten