GLBasic forum

Other languages => GLBasic - de => Topic started by: blastar on 2008-Apr-11

Title: screenresize & incbin?
Post by: blastar on 2008-Apr-11
die hilfe bzw die einträge im forum haben mir fast immer weitergeholfen aber einige fragen bleiben offen... vielleicht habe ich ja auch was übersehen?

- gibt es soetwas wie SCREENRESIZE? also eine möglichkeit erst einen screen 320x240 zu öffnen und diesen dann auf zb 640x480 zu "ziehen" (also eine 2x2 vergrößerung)? idealerweise mit und ohne sampling...

- ist es möglich mit gl-basic bilder, sounds usw in die binary reinzuhängen... also dass ich zum schluss nur eine datei habe wo alles drinsteckt? bietet gl-basic vielleicht sowas wie ein containerformat?
Title: screenresize & incbin?
Post by: Quentin on 2008-Apr-11
du kannst mit SETSCREEN auch während des Programmlaufes die Auflösung verändern. Um evtl. erforderliche Anpassungen an Grafiken/Coding musst du dich jedoch selbst kümmern.

zu b:
prinzipiell auf Umwegen möglich z.B. mit READ .. DATA (siehe F1-Hilfe). aber nicht empfehlenswert. Besser wäre das die sogenannte Shoebox zu verwenden, Dort kannst du alles, was an Mediadateien anfällt, eine gepackte Datei packen und diese aus deinem programm heraus ganz normal ansprechen. (siehe z.B. auch Befehl SETSHOEBOX)
D.h. du hast dann neben deinem Programm mindestens noch eine Datei, aber eben nur eine ;)
Title: screenresize & incbin?
Post by: blastar on 2008-Apr-11
SETSCREEN habe ich schon gesehen aber das ist nicht das was ich suche... eher sowas wie VIEWPORT was ja leider nur mit 3D funktioniert...

das mit SHOEBOX habe ich jetzt auch gesehen,... wenigstens was. allerdings schade denn mittlerweile ist es standard dass sprachen solche dateien einbinden können... oder hängt das mit den unterschiedlichen systemen zusammen? funktioniert SHOEBOX  wenigstens auf allen systemen gleich gut?
Title: screenresize & incbin?
Post by: Quentin on 2008-Apr-11
VIEWPORT geht meines Wissens sowohl in 2D als auch in 3D

INCBIN oder etwas Vergleichbares könnte ganz nützlich sein *zustimm*. Vielleicht nimmt Gernot es ja mit auf seine todo-Liste ;)
Title: screenresize & incbin?
Post by: blastar on 2008-Apr-11
stimmt, VIEWPORT funktioniert auch mit 2D... ABER wichtig ist der kleine zusatz dass zommen/verkleinern nur mit 3D funktioniert, bei 2D werden sämtliche zeichenoperationen "nur" umgeleitet! ...dabei werden doch sprites usw sicher auch nur als texturierte poligone gehandhabt, oder?

für dieses problem benutze ich erstmal diesen kleinen code den ich jedesmal vor SHOWSCREEN aufrufe... das einzige was da noch zu beachten ist sind die coordinaten einer mous-abfrage die *0.5 gerechnet werden müssen... ich denke mal unter windows ist der aufruf 1x pro frame zu verkraften! ;-)

Code (glbasic) Select
IF PLATFORMINFO$("") = "WIN32"
SMOOTHSHADING FALSE
GRABSPRITE TEMP, 0,0,320, 240
STRETCHSPRITE TEMP, 0, 0, 640, 480
ENDIF
kann man natürlich auch prozentual machen, dann passt es auf jede screengröße!
Title: screenresize & incbin?
Post by: Quentin on 2008-Apr-11
ähhh, auch auf die Gefahr hin, daß ich hier mit meinem Halbwissen Mist erzähle:

2D-Sprites sind keine texturierten Polygone, sondern einfach nur Grafiken, die du natürlich bei geänderter Auflösung größenmäßig anpassen kannst (siehe z.B. ZOOMSPRITE etc.). Texturierte Polygone sind in 2D mit STARTPOLY .. ENDPOLY möglich.

Warum machst du dir die Umstände mit den unterschiedlichen Auflösungen? Ein ganzes Spielfeld auf die doppelte Größe zu sizen, sieht in der Regel kagge aus. Meines Erachtens ist es sinnvoller sich entweder

- auf eine bestimmte Auflösung festzulegen
- oder wenn die Auflösung gewechselt werden kann, dann evtl. verschiedene Grafiksets für die jeweileigen Auflösungen zur Verfügung zu stellen

Bei bestimmten Spielen, der Spielfeld eh etliche Bildschirmseiten umfaßt, kann es u.U. egal sein, daß hier bei höherer Auflösung lediglich ein etwas größerer Bereich des Spielfeldes anzeigt wird.
Title: screenresize & incbin?
Post by: blastar on 2008-Apr-11
da gl-basic die "sprites" auch drehen, zommen und dabei filtern kann nehme ich ganz stark an das diese "sprites " etwas einfach gehandhabte texturierte polygone sind - ich glaube kaum dass diese operationen alle von der cpu bewältigt werden sondern von der grafik-hardware -> meine vermutung!

ich versuche zZ ein kleines spiel dass ich mal in BMAX geschrieben habe umzusetzen... es soll möglichst ohne grossen aufwand auf PocketPC & GP2X laufen (eventuell auch OSX). da WIN32 für mich nicht wichtig ist aber ich darauf entwickle will ich auch die pixel sehen!
Title: screenresize & incbin?
Post by: Kitty Hello on 2008-Apr-13
unter win32 ist drawsprite wie polyvector -> weil schneller.
du kannst mit copy eine shoebox an die exe dranpappen. schau bei faq.
Title: screenresize & incbin?
Post by: blastar on 2008-Apr-13
danke, genau dein eintrag unter FAQ habe ich übersehen... aber wer kommt auch schon auf COPY? ;-)