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

21.02.2012, 21:17

Aus dummen Fehlern lernt man ja am Besten^^
Aber das flimmern bleibt trotzdem... :(

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

12

21.02.2012, 22:29

Habs grad geschafft einen Screenshot zu machen:


Es passiert auch manchmal während dem Sprung, aber da schaff ich keinen Screenshot (da sind dann machmal auch die Linien der x-Achse entlang oder auch ein Gitter) Es ist in unregelmäßigen Abständen, aber immer nach dem Bild, also nie eine Linie durch den Sprite durch

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

13

21.02.2012, 23:03

Das liegt an der ungenauigkeit von Floats. Hatte das selbe Problem mal bei XNA und hab mich gewundert woran es liegt. Wenn du die Positionen als Ganzzahl renderst wirst du dieses Problem nicht mehr haben.
„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.“

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

14

22.02.2012, 00:30

Du meinst, wenn ich dem Sprite die Position als Ganzzahl setze? Ich setze die Position von denen nur 1 mal (im Konstruktor) und dann nicht mehr.
Ich habs so probiert, klappt aber auch nicht :( Oder muss ich den View als Ganzzahl setzen? Dann zittert das Bild aber ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

15

22.02.2012, 10:39

Ich kann hier nur vermuten, da ich mit SFML wenig Erfahrung habe. Aber wenn du Pixelangaben machst, und dort Floats setzt, dann hast du unter Umständen Werte wie 2.3 Pixel, oder 7.8. Diese werden dann Gerundet und manche davon werden halt auf und manche werden abgerundet. Dazu kommt dann noch Ungenauigkeit von Float. Wenn du die Position nur ein mal setzt, so wirst du ansonsten aber irgendeine Form von Bewegung haben. Möglicherweise über deine View, das ist richtig. Möglicherweise ist es bei dir aber auch ein anderes Problem.
„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.“

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

22.02.2012, 11:50

Verwendest du SFML 2 oder noch SFML 1.6?

Im Fall von 1.6 verlink ich dich mal nach hier. Ich vermute dass das ebenfalls eine Folge von diesem Bug ist.

Lösung: Kommentier in Graphics\Sprite.cpp Zeile 191 aus und änder in Graphics\Image.cpp in Zeile 646 und 647 das GL_CLAMP zu GL_CLAMP_TO_EDGE.
Oder besser: Verwend SFML 2.0 ;)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (22.02.2012, 11:59)


storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

17

22.02.2012, 17:23

Sfml 2 hat leider auch einen nervigen Bug, tritt in meinem Spiel zwar nur beim Beenden des Spiels auf aber wäre trotzdem schöner ohne. (Hat mich 2 stunden gekostet meinen Code nachzuschauen um dann festzustellen das ich nicht schuld bin^^)

Nämlich wenn du ein Text (sf::Text) erzeugst und das Fenster schließt crasht es, ist auch ein offiziell bekannter Bug und soll laut Entwickler erst mit 2.1 behoben werden, was ich schon für sehr fragwürdig halte ein 2.0 mit so einem bug releasen zu wollen.

Geheim

Treue Seele

  • »Geheim« ist der Autor dieses Themas

Beiträge: 202

Wohnort: Salzburg

Beruf: Schüler

  • Private Nachricht senden

18

23.02.2012, 20:02

@dot: Habs geändert, aber es hat sich nichts geändert :(

@Schorsch: Ich versteh was du meinst, aber ich setz die Position nur 1 mal, und zwar mit 14.0 oder 16.0, also sollte da kein Rundungsfehler sein?

Danke euch, auch wenn es nicht ganz klappt (aber da kann keiner was dafür :(), drum werd ich jetz mal auf 2.0 umsteigen, muss ich sowieso irgendwann^^ Aber es stört wenn das immer Blitzt...

storage

Treue Seele

Beiträge: 138

Wohnort: Bad Salzungen

  • Private Nachricht senden

19

23.02.2012, 20:35

wenn du aber 14.0 schreibst ist es sogar ein Double, sofern ich kein 14.0f schreibe ist es auch kein float. Und wie die anderen dir sagten sollst du ein int nutzen also in deinem Fall 14 oder 16.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

20

23.02.2012, 23:14

Verwendest du ein Tileset, also nimmst du die Sprites als aus einem gemeinsamen großen Image oder ist jedes Sprite ein eigenes Image?
Falls du ein Tileset (Spritesheet) verwendest, versuch mal um jedes Sprite im Spritesheet einen Rand von einem Pixel Breite zu machen, indem du die Randpixel kopierst.

Werbeanzeige