Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

21.11.2015, 11:10

Sprite skalierung für die Bildschirmauflösung als float ausrechnen

Hey,
ich versuche auszurechnen wie stark ich meine sprites skalieren muss wenn die auflösung des Bildschirms geändert wird.
wenn ich zum beispiel eine auflösung von 1024x768 habe und die neue auflösung 1920x1080 ist.
dann erwarte ich folgendes ergebnis:
1920/1024=1.8

C-/C++-Quelltext

1
2
    float zahl = 1920/1024;
    cout << zahl;


aber er gibt mir keine kommazahl aus sondern nur 1, obwohl ich es in einem float speichere.
gibt es eine möglichkeit das exakte ergebnis zu bekommen?

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

2

21.11.2015, 12:59

Du müsstest also schreiben:

C-/C++-Quelltext

1
2
float zahl = 1920.f/1024.f;
cout << zahl;

3

21.11.2015, 21:05

Sieht aber meiner Meinung nach besser aus, wenn beide Zahlen ein ".f" haben :D

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

4

21.11.2015, 21:10

Außerdem hat man dann doch so eine nervende Warnung vom Compiler (wenn mich nicht alles täuscht war es so was in der Art von: "Konvertierung von int in float. Möglicher Datenverlusst" oder so...)

CentuCore

Frischling

Beiträge: 43

Wohnort: Wien

  • Private Nachricht senden

5

21.11.2015, 23:54

Ich geh mal davon aus, dass mit Datenverlust der Verlust der Nachkommastellen gemeint ist.

Offtopic: Wie füge ich ein Bild aus'm Anhang in meinen Post ein?
»CentuCore« hat folgendes Bild angehängt:
  • Untitled.png

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

22.11.2015, 10:26

Würde eigentlich nur andersherum Sinn ergeben wenn von float nach int konvertiert wird eigentlich
Damit widersprichst Du Deinem letzten Beitrag, wo Du ja feststellst, dass Konvertierung von int zu float sehr wohl Datenverlust bedeuten kann.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

22.11.2015, 11:51

Dann war die Ausführung sehr unverständlich, denn "eigentlich" gehört da nicht hin. Es kann zu Verlusten kommen. In beide Richtungen. Punk. ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

22.11.2015, 13:40

Ich bin Entwickler und nehme es mit den Dingen eben sehr genau. Ich bin auch der Meinung, dass sich richtig auszudrücken wichtig ist. Gerade hier, wo Neulinge ja etwas lernen wollen. Mit schwammigen und unverständlichen Aussagen, ist ihnen jedenfalls nicht geholfen. Das verstehst Du sicher auch.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Volker_Neff

Treue Seele

Beiträge: 249

Wohnort: Hamburg

  • Private Nachricht senden

9

23.11.2015, 13:25

der Kompiler macht aus der Rechnung

C-/C++-Quelltext

1
2
3
int a, b;
int temp = a / b;
float zahl = static_cast<float>(tmp);

Werbeanzeige