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

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

1

22.03.2012, 17:16

sfml 2 - suche neue getWidth und getHeight von sf::RenderWindow

Halli Hallo,
Ich habe ein Programm geschrieben, dass drei Sprites auf dem Bildschirm ausgibt. Jetzt würde ich gerne ein Sprite auf die Größe des Bildschirms setzen (800, 600 Pixel). Dafür wollte ich wie folgt vorgehen:

C-/C++-Quelltext

1
Sprite2.setScale((float)Window.getWidt()/(float)Image.getWidth, (float)Window.getHeight()/(float)Image.getHeight)


Leider gibt es in der neuen SFML keine getHight oder Width Funktion mehr und in der Bibliothek kann ich auch nur sowas wie getSize etc. finden, was mir in dieser Situation nicht hilft.
Kann mir jemand sagen, wie ich das bewerkstelligen kann?

Gruß, Luca

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

2

22.03.2012, 17:24

getSize hilft dir nicht?
Sicher das du reif bist um mit der SFML zu arbeiten?
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

3

22.03.2012, 17:25

Anstatt von

C-/C++-Quelltext

1
Window.getWidth()
, dass hier machen

C-/C++-Quelltext

1
Window.Width
und das selbe für Height

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

4

22.03.2012, 17:36

getSize hilft dir nicht?
Sicher das du reif bist um mit der SFML zu arbeiten?


Naja zumindest wüsste ich nicht, wie ich mit getSize die Höhe und die Breite bekomme, so dass ich mit jedem der beiden Werte einzeln Arbeiten kann. Und ja, ich habe erst angefangen mit sfml zu Arbeiten.

Window.Width und Window.Height gibt es leider auch nicht als Funktion :(

5

22.03.2012, 17:46

Du kannst die Textur bekommen (getTexture) und dadurch dann auch die Width bzw. Height. Scale musst Du natürlich auhc noch betrachten. Setzt Du Scale auf 2 (bei x und y), so ist das Sprite dann doppelt so groß (Width * 2, Height * 2).

Durch die anderen Threads, würde ich Dir aber doch raten, dich noch etwas mehr mit den Grundlagen zu beschäftigen und ein paar Konsolenprogramme zu schreiben, bis es wirklich fest sitzt. Dann solltest Du sehr gut mit der Dokumentation klarkommen.

fkrauthan

Supermoderator

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

6

24.03.2012, 15:06

@Luca du solltest vllt mal anfangen die API Doku zu lesen. Du fragst hier jetzt schon seit Tagen in Tausenden von Threads wie die SFML2 API aussieht. Dabei steht das echt gut dokumentiert auf der SFML Webseite. Der genaue Link wurde auch schon in einem deiner vielen Threads gepostet. Ich würde dich daher bitten in Zukunft zuerst die Doku zu benutzen. Solltest du damit nicht zurecht kommen vllt erst mal den GameMaker benutzen bis du damit zurecht kommst. Weil dass was du momentan hier machst hilft dir kein bisschen wenn dir hier jeder genau vorkaut wies richtig ist ohne das du es selber schaffst es herauszufinden.


Edit: Oh Codevine war schneller mit seinem Ratschlag :D
Homepage: fkrauthan.de | Browser-game: flowergame.net

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

7

24.03.2012, 15:20

Um es noch mal auf den Punkt zu bringen. Du gehst auf sfml-dev.org oder auf Google und suchst da nach SFML. Links steht dann da Documentation. Da klickst du drauf. Dann überlegst du was du haben möchtest. Dir geht es ja um die größe vom RenderWindow. RenderWindow ist eine Klasse und von daher kannst du direkt nach dieser Klasse suchen. Du klickst also oben auf Classes. In der Liste suchst du die Klasse dann raus. Du kannst mit getSize nichts anfangen, obwohl der Name eigentlich schon sagt, dass es genau die Methode ist die du suchst. Also guckst du unter der Methode was sie genau tut und was sie zurück gibt. Das solltest du dann eigentlich verstehen und ansonsten solltest du dir noch ein Buch zu Gemüte führen oder einfach erst mal einfachere Sachen programmieren. Wenn du schon ein Buch über Spieleprogrammierung gelesen hast dann zum Beispiel erst mal mit den dort vorgestellten Mitteln arbeiten.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige