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

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

11

26.02.2012, 23:39

Ja klar, ich hab noch was anderes was ich Render, das funktioniert auch wunderbar, aber bei dem Spieler (RectangleShape) und den Tilesets gehts ned...

Und die Mouse Position ist nicht mehr dem Gamefenster, sondern dem PC-Bildschirm angepasst und ich habs schon mit ConvertCoords probiert und das hat auch nichts geholfen wisst ihr was ich mein?

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

12

27.02.2012, 00:03

Ich weiß zwar dass es mit sf::Mouse::GetPosition(Window) geht, aber wie mach ich das dann bei mir, weil ich hab das Fenster als Zeiger übergeben...

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

13

27.02.2012, 00:05

Ich könnt es zwar jeder Funktion jedesmal als Parameter übergeben, aber das ist ja unnötig aufwendig im Vergleich zu 1.6 (wenns nicht anders geht)!

14

27.02.2012, 07:11

sf::RenderWindow::GetFrameTime?
[...] PS: Ach nein, du kannst ja nicht mehr lesen, weil du blind bist.... :spiteful:

SFML sf::RenderWindow, hier irgendwo?

lol
Dann wurde SFML 2 aktualisiert. Ich habe wahrscheinlich eine ältere Version von dieser Version und da ist GetFrameTime noch drin. Naja, wie Nacho sagte: Du kannst sie eben mit sf::CLock berechnen.

MfG
Check

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

15

27.02.2012, 14:15

Ich weiß zwar dass es mit sf::Mouse::GetPosition(Window) geht, aber wie mach ich das dann bei mir, weil ich hab das Fenster als Zeiger übergeben...

1. Wieso übergibst du das Fenster als Zeiger und
2. wieso ist das ein Problem?

Wie bringt man einen Zeiger dazu sich wie eine Referenz zu verhalten?
"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?

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

16

27.02.2012, 15:00

1. Wiso nicht als Zeiger?
2. Weil ich noch nie einen Zeiger als Referenz benutzt habe und mir das nie eingefallen wär (mit *Zeiger oder? xD)

Also es funktioniert danke, aber GetRect() war viel genauer^^

Leider versteh ich nicht warum meine Welt und der Spieler nicht gerendert werden...

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

17

27.02.2012, 15:09

Ups GetRect war doch nicht besser, hab nur wo übersehen das Fenster in die Klammer zu setzen :rolleyes: ^^

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

18

27.02.2012, 15:10

1. Wiso nicht als Zeiger?

Einen Zeiger nimmt man nur entgegen wenn auch "nichts" also NULL erwartet. Das kann man z.B. machen wenn man etwas berechnet und dem Nutzer ermöglichen will optionale Zusatzinformationen zur berechnung zu bekommen. Will er sie nicht übergibt er NULL. Will er sie erstellt er eine Instanz und übergibt sie als Zeiger, die so gefüllt werden kann.

Wenn eine Funktion, Methode oder ein Konstruktor also einen Zeiger erwarten, heißt das für den Nutzer, er darf auch NULL übergeben und ich denke in deinem Fall benötigst du immer eine Instanz. Würde der Nutzer sich entsprechend dieser Regel verhalten hätte das einen Fehler zur Folge, der nicht möglich wäre wenn du Referenzen erwarten würdest.

Das mit (*zeiger) ist richtig. Das nennt sich auch dereferenzieren.

Zitat

Leider versteh ich nicht warum meine Welt und der Spieler nicht gerendert werden...

Können wir ohne das Projekt zu sehen leider auch nicht. Versuchs doch erstmal mit einem Minimalbeispiel ob er bei dir überhaupt Sprites zeichnet.

Übrigens solltest du den Unterstrich vor den Bezeichnern vermeiden, da Bezeichner, die mit einem Unterstrich anfangen reserviert sind. Schreibe es lieber dahinter. Z.B. "fish_". :D
"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?

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

19

27.02.2012, 15:15

Ah ok danke!
Aber es ist jetz nicht das Schlimmste wenn ichs so lasse? Ich habs gestern glaub ich schonmal auf Referenzen geändert, da waren dann aber in 2 Klassen komische Fehler die (wenn ich bei VS Doppelklick mache) nicht in meinem Code sondern in einer anderen Klasse ich glaub (xuitys oder so ähnlich xD), drum hab ichs beim Zeiger gelassen...
Das mit dem dereferenzieren hab ich grad zum ersten Mal gehört^^ (dereferenzieren: Check xD)

Edit: Habs grad in nem Buch nachgeschlagen und es steht auch drinnen ;) mal wieder schlampig drübergelesen...

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

20

27.02.2012, 15:24

Aber es ist jetz nicht das Schlimmste wenn ichs so lasse?

Im Grunde nicht, ich hab auch ein sehr altes Projekt in dem ich zu viele Zeiger verwende und an dem ich immernoch arbeite. Allerdings hat es schon ca. 13k Zeilen und lässt sich nicht so eben umschreiben. :pillepalle:
Aber es wäre eine gute Übung es zu ändern, also herauszufinden wieso du diese Fehler bekommst.
"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