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

16.07.2012, 00:06

SFML2 Problem mit setScale

Hallo,

ich versuche gerade ein Menü für ein Spiel zu erstellen und weiß nicht wie ich diese Codezeile umschreiben muss, damit sie mit SFML 2 funktioniert...

Sprite1.setScale((float)VMode.Width/(float)Sprite1.getImage()->getWidth(), (float)VMode.Height/(float)Sprite1.getImage()->getHeight());

Danke für die Hilfe!

Gute Nacht
Arch

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

2

16.07.2012, 00:21

Der folgende Beitrag ist nicht die Lösung deines Problems, trotzdem ein kleiner Ratschlag, auch wenn ich im Umgang mit der SFML noch nicht geübt bin:

Während der Tutorials wird immer gesagt, man soll möglichst wenig Methoden in Verbindung mit Images nutzen, weil diese oft die Performance beeinträchtigen, Zitat:

Zitat

You have to be particularly careful when manipulating images. A sf::Image instance is a resource which is slow to load, heavy to copy and uses a lot of memory.


Ich weiß nicht, ob du diese Zeile, die du dort oben gepostet hast öfter nutzt, aber lege entweder eine Referenz auf das Image an (um getImage einzusparen, welches du hier schon ganze 2 Mal nutzt), oder direkt eine Variable für Breite und Höhe des Image.

Habe mir jetzt aber auch nochmal die Dokumentation der SFML 2 angesehen:

C-/C++-Quelltext

1
void setScale (float factorX, float factorY)


Demnach müsstest du deinen Code ohne Probleme verwenden können.

Gruß

Nim
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

3

16.07.2012, 07:38

Zitat

A sf::Image instance is a resource which is slow to load, heavy to copy and uses a lot of memory.


Slow to load: Wurde an der Stelle bereits geladen.
Heavy to copy: Hier wird nur eine Referenz kopiert.
Uses a lot of memory: Wird nur ein mal geladen.

@Archer:
Fehlermeldungen wären für den Anfang mal nicht verkehrt.

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

4

16.07.2012, 08:58

Zitat

A sf::Image instance is a resource which is slow to load, heavy to copy and uses a lot of memory.

Heavy to copy: Hier wird nur eine Referenz kopiert.


Stimmt, sry, war spät, als ich den Post gelesen habe und habe statt -> einen . gesehen.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

5

16.07.2012, 13:07

In SFML 2.0 solltest du anstatt von sf::Image sf::Texture benutzen.

getWidth ( ) und getHeight ( ) wurden in eine Methode getSize ( ) zusammengefasst.
Diese gibt einen zwei dimensionalen Vektor zurück.
Also entspricht getWidth ( ) getSize ( ).x und getHeight ( ) getSize ( ).y.

Freundliche Grüße
Stazer

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Stazer« (16.07.2012, 13:13)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

6

16.07.2012, 17:25

Da du die SFML verwendest und offensichtlich Objekte verwendest, kann man davon ausgehen, dass du in C++ programmierst. Wieso verwendest du dann den C-Cast-Operator?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

7

17.07.2012, 00:06

ok, danke für die Hinweise. Ich habe noch ein bisschen rumprobiert und jetzt... :-)

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

17.07.2012, 16:46

Zitat

A sf::Image instance is a resource which is slow to load, heavy to copy and uses a lot of memory.

Heavy to copy: Hier wird nur eine Referenz kopiert.


Stimmt, sry, war spät, als ich den Post gelesen habe und habe statt -> einen . gesehen.

Was hat das damit zutun?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Werbeanzeige