Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - S. P. Gardebiter

#76
Wie meinst du das mit dem Anfang und dem Skalieren?

Die Lösung mit den Platformoptions stellt mich nicht ganz zufrieden, wenn ich eine Auflösung von 800x600 habe, verschwindet das auf 1024x768 eingstellte Spiel oben links in der Ecke:

http://img291.imageshack.us/img291/1475/800x600.png

Auch wenns eigentlich nur 512x384 groß ist D;

Das allerwichtigste ist mir aber Kompatibilität, auch für alte Systeme. Bis vor 2 Jahren hab ich sogar noch 800x600 benutzt, weil ich nur einen alten kleinen Röhrenmonitor hatte und das obwohl der Rest von meinem Rechner eig. relativ neu ist.

Bei meinem Kumpel sieht das ganze noch genauso wie voher aus wenn ich auf 1024x768 stelle:

http://img168.imageshack.us/img168/5656/scrbm.png

Naja, gut, es war eine ungepatchte map, deshalb war das Tileset nicht geladen, aber sonst genau das selbe.
#77
Quote from: Kitty Hello on 2010-May-19
Wie groß ist der Bereich der gelkippt wird? Kann seine Grafikkarte nur 1024x1024 Texturen (GRABSPRITE).

512x384 wird vergrößert auf 1536x1152. Hatte ich aber geschrieben o: Grabsprite holt sich den Sprite und benutzt dabei die Größe 512x384.

Quote from: Kitty Hello on 2010-May-19Das Fenster solle doch immer mittig auf dem Bildschirm sein. AHHH! Machst Du SETSCREEN? Da behalte ich die linke obere Ecke bei.
Mach mal in den Projekt Optionen die Aufläsung auf 1024x768 statt 640x480.

SETSCREEN mache ich nicht.
Die Auflösung erhöhen halte ich für keine gute Idee, denn die Auflösung lässt sich in meinem Spiel beliebig verstellen, sodass sie auf möglichst vielen System läuft :x
#78
Okay, ich beschreibe es nochmal genauer:

Mein Spiel benutzt 1536x1152 als Auflösung. Mein Kumpel benutzt 1920x1200 als Auflösung für den Desktop. Es sollte somit eigentlich kein Problem darstellen mein Spiel in einer hohen Auflösung zu benutzen. (im Fenstermodus)

http://img232.imageshack.us/img232/2412/screenfrshi51.jpg

Erstmal startet das Fenster nicht so dass man es gut sehen kann, sondern irgendwo unten rechts in der Botanik. Dann kann man es nichtmal verschieben, weil ich Systempointer auf Aus gestellt habe. (Ich benutze ein Fadenkreuz, der Cursor würde nur stören)

Nun denn, wenn man erstmal 5 minuten rumgetrickst hat, um das Fenster irgendwie doch verschieben zu können, ergibt sich folgendes Bild:

http://img180.imageshack.us/img180/1295/screenfrshi52.jpg

Wieso verschluckt der die hälfte von meinem Bild?

Mein Vergrößerungscode:

Code (glbasic) Select
IF Zoom% > 1
ALPHAMODE 0
GRABSPRITE 1, 0, 0, 512, 384
CLEARSCREEN
ZOOMSPRITE 1, 256, 192, Zoom%, Zoom%
ENDIF


Native Auflösung = 512x384
In diesem Fall war Zoom = 3.

Wieso buggt das Ding so rum? Oder bin ich einfach zu blöd? :x
#79
Hi.
Funktionen können keine Strings returnen.

Code (glbasic) Select
FUNCTION GetElementName

RETURN "Hi"

ENDFUNCTION // GETELEMENTNAME


QuoteC:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp: In function `DGInt __GLBASIC__::GetElementName(DGInt)':
C:\DOKUME~1\SPFD42~1.GAR\LOKALE~1\Temp\glbasic\gpc_temp0.cpp:1371: error: cannot convert `__GLBASIC__::CGStr' to `DGInt' in return
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren

Code (glbasic) Select
FUNCTION GetElementName

LOCAL Str$ = "Hi"

RETURN Str$

ENDFUNCTION // GETELEMENTNAME


Ausgabe = 0
#80
Du hast eine Auflösung von 1024x768. Setze nun mit Showscreen die Größe des Fensters auf 1024x800 im windowed mode. Dann zeichnest du einen Sprite der 200x200 groß ist. Und er wird von der "Höhe" des Sprites etwas verschlucken. Das würde auch passieren wenn dein Fenster 1024x768 groß wäre. (Vielleicht sogar, wenn es noch gerade so in die Bildschirmauflösung mit reinpasst)
#81
Hi, ich habe gerade herrausgefunden dass GLBasic die Koordinaten von Grafikbefehlen "verschiebt", wenn Auflösungen in einem Fenster größer (oder auch genauso groß) als die Bildschirmauflösung sind.
#82
Quote from: Schranz0r on 2010-Apr-21
So ein quark...

Das ist kein Quark o: Libaries machen meistens nur Probleme. (Ich rede nicht von Libaries in GLBasic oder von den mitgelieferten Libaries des Betriebssystems)

Quote from: Schranz0r on 2010-Apr-21Mach Messageboxen mit der jeweiligen Api des Betriebsystems...
Du hast dann trotzdem deine Multiplatform und null komma garkeine Lizenzprobleme.

Mitn bisschen Googeln wird das wohl nicht so schwer sein!

Mir ist klar, dass es mit Googeln nicht allzuschwer sein wird. Die Frage war aber an das Forum gerichtet. Ist mir klar dass ich das auch hätte googeln können ;)

Aber das ganze umzusetzen und zum laufen zu kriegen ist vielleicht auch selbst mit googeln nicht ganz so leicht, wenn man nur gebrochen C/C++ kann. Teilweise haben die einfachsten Aufgaben die komplexesten Lösungen. Mit anderen Worten: Ich hatte ledeglich danach gefragt, ob hier einer weiß wie so etwas multiplatform mäßig funktioniert, es hätte ja sein können, dass jemand schonmal Message Boxen für Linux und Mac benutzt hat ;)
#83
Quote from: Quentin on 2010-Apr-21
(don't know exactly as I have the german version :)))

What's the point? I have the german version too D;

Anyway thanks, I found it o:
#84
Naja, eig. wollte ich Messageboxen machen die ihr "Handle" beim Betriebssystem haben. Solche Messageboxen wie der DDGui macht, kann ich im Notfall auch selber programmieren, aber danke für den Hinweis Gernot o:

Auf Libaries muss ich wegen Lizenzbedingungen der meisten Libaries verzichten, ich will mir nicht das Recht nehmen lassen mein Spiel zu verkaufen. (Selbst wenn ichs sowieso nicht tue)
Und wenn es nicht gerade die Lizenzbedingungen sind, ist es meist der Verlust von Multiplatform Unterstützung. o:
#85
I have a question: How to make a .gbal? :>
I never saw an option there to make one in the editor.
#86
Quote from: Kitty Hello on 2010-Apr-21
Das ist eine coole Idee!! Probier mal das:

Code (glbasic) Select

IMPORT "C" __stdcall int ShowWindow(int, int);

// muss man INLINE machen für GLBASIC_HWND()?
INLINE
ShowWindow(GLBASIC_HWND(), 6); // 6=SW_MINIMIZE
ENDINLINE

Filereuqest...

INLINE
ShowWindow(GLBASIC_HWND(), 1); // SW_SHOWNORMAL = 1
ENDINLINE



Vielen dank Gernot o:
Mein Problem ist wie immer nur, dass es den Multiplatformrahmen sprengt. Also werde ich es wohl oder übel so lassen müssen :/ Aber danke trozdem, ans Handle hatte ich garnicht gedacht o:
#87
Ich würde mich trozdem freuen, wenns da irgendeine Möglichkeit gäbe; wenn das Programm immer unten in die Taskleiste zischt oder sich wenigstens neu zeichnet während FILEREQUEST$.
Das kommt sonst vielleicht nicht ganz so gut beim Endbenutzer an, ich selber finds auch nicht gerade super schön o:
#88
Hello, I've got a question:
So multithreading is an official part of GLBasic and has the same licence conditions?
Means: Everything I can do with GLBasic, I can do with this libary as well?
#89
Wenn ich INLINE benutze und Windows DLL's benutze, zerschieße ich den Support für alle anderen Betriebssysteme. (Mac, Linux, Xbox-Linux etc.)
Und dass, obwohl ich nur eine Message Box wollte, was für mich dann doch etwas zu arg, nach dem Motto: "Mit Kanonen auf Spatzen schießen." ist D:
#90
Quote from: Ocean on 2010-Apr-19
Dieses Problem tritt nicht auf, wenn der FileRequest in ein Thread abgehandelt wird.

Ocean

Ja, das stimmt schon, aber es ist dennoch ein Bug. (Zwar kein äußerst schlimmer, aber dennoch unschön o:)
Außerdem: Wie benutze ich Threads? :>
Werden Threads in GLBasic von jedem Betriebssystem unterstützt?