Umrechnung
Übersicht

schalliBetreff: Umrechnung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
In einem Spiel, dass ich gerade programmiere, biete ich drei Auflösungen an. Ich mache alle Angaben in
800x600 und rechne sie dann um: 640x480: faktor#=0.8 800x600: faktor#=1 1024x768: faktor#=1.28 Beispiel-Code: [AUSKLAPPEN] Color 144,30,120
Rect 325*faktor#,550*faktor#,150*faktor#,25*faktor# Color 114,0,90 Rect 325*faktor#,550*faktor#,50*faktor#,25*faktor# Da es leider keine "Komma-Pixel" gibt, ![]() Und das sieht manchmal etwas seltsam aus. (Sachen sind zu dick/dünn, sowas halt) Weiß jemand wie ich den "Rundungsfehler" verhindern kann? |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde für X und Y einen eigenen faktor nehmen. | ||
schalli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Er wäre genau gleich. Rechne mal nach:
1024/800=1.28 768/600=1.28 640/800=0.8 480/600=0.8 EDIT: Der Fehler liegt nicht im faktor#, sondern in der Rundung: Es gibt keine "Komma-Pixel". |
||
- Zuletzt bearbeitet von schalli am So, Jan 18, 2009 12:26, insgesamt einmal bearbeitet
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und was machst du, wenn mal nen User mit ner Breitbild-Auflösung kommt? | ||
schalli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gute Frage:
Aber das sind die drei Standartauflösungen, die fast jedes Spiel unterstützt. Mehr Auflösungen mache ich nicht. Wäre zu aufwendig. Wie schon gesagt, ich mach nur die 3 Standarts. |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann werden sich die Breitbild-User(wie ich) aber bedanken, weil ein 4:3/5:4 Spiel auf 16:9/16:10 breitgezogen wird und entsprechend aussieht.
Wenn du schon so ein System mit einem Scale-Faktor aufbaust, kannst du auch gleich die Auflösung komplett frei vom User regeln lassen per config-datei. |
||
schalli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
OK, werde drüber nachdenken.
..., was meine Frage noch nicht beantwortet. |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du vllt. mal einen Beispiel-Screenshot, in wie fern sich das problem zeigt? | ||
schalli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
800x600 gut:
640x480 schlecht: Der Rahmen um das Weiterspielen, wenn die Maus draufgehalten wird. |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke, da wird man nicht viel machen können, das sind halt kleine integer-rundungs-fehler. | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Rechne mit Floats, also nicht
Code: [AUSKLAPPEN] Rect 325*faktor#,550*faktor#,150*faktor#,25*faktor# sondern...
Code: [AUSKLAPPEN] Rect 325.0*faktor#,550.0*faktor#,150.0*faktor#,25.0*faktor# Das sollte eine Verbesserung geben.
|
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was würde denn passieren wenn du die buttons größer / kleiner machst ? (so 1 px) | ||
01010100 01100101 01000100 01111001 00100000 00111010 01000100 |
schalli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@xeres: Hilft nichts.
@tedy: Muss ich noch probieren. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit der Draw3D habe ich ein einfaches System eingebaut, mit welcher man genau so etwas machen kann. Das ganze wird dann mit Origin3D![]() Die meiner Meinung nach beste aber auch aufwendigste Methode ist, man passt alle Bildelemente variabel an. Also Elemente die links oder oben angeordnet sind, werden ''normal'' berechnet und eingezeichnet. Und so ähnlich mit Elementen die unten, rechts oder mittig angeordnet werden. Diese müssen dann stets variabel angeordnet werden. Das Problem ist nur, dass Bediehnelemente dann aber auch auf sehr großen Auflösungen sehr klein ausfallen können, sind aber immer quadratisch und scharfgezeichnet. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
schalli |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@hectic:Umständlich, muss aber wohl so gemacht werden ![]() EDIT: Draw3D kommt sowieso nicht in Frage. Ich hab B+. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group