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

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

11

21.01.2013, 20:09

Mit den Rechtecken kannst du ja das meiste schon berechnen wie dot schon geschrieben hat. Die Rectangle Klasse von SFML hat auch eine Funktion welche die das Schnittrechteck zweier Rechtecke gibt. Möglicherweise hilft dir das ja auch noch weiter. Je nach Umsetzung natürlich nur. Mich würde es wundern wenn SFML keine Möglichkeit bietet an Pixel zu kommen. Google spuckt zu dem Thema sogar Links aus. Da musst du vielleicht noch etwas weiter suchen.
„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.“

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

12

21.01.2013, 22:11

http://www.sdltutorials.com/sdl-per-pixel-collision

Es gibt auch zusätzliche Libarys die auch pixelgenaue Kollisionserkennung können, habe ich mal irgendwo gesehen, musst du aber selbst mal suchen.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

22.01.2013, 06:47

Ich weiß nicht in wie fern ihm ein SDL-Link hilft, wenn er in SFML keine Möglichkeit findet die Pixel auszulesen. Da er aber irgendwie die Images auf Texturen laden muss, gibt es folglich auch einen Weg die Pixel auszulesen:
http://www.sfml-dev.org/documentation/2.…7cb00a81c29163d
Aus einer sf::Texture zu lesen wäre natürlich keine sonderlich gute Idee, wie generell, wenn man aus Video-Speicher lesen will.
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]

ERROR

Alter Hase

  • »ERROR« ist der Autor dieses Themas

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

14

22.01.2013, 10:16

@ Dot: Es sollte zumindest das gleiche sein, vielleicht habe ich es etwas falsch ausgedrückt.


@BlueCobold: Danke für den Link. Allerdings ist das Problem, dass man( soweit ich es bisher überall gesehen habe) sf::Image nicht wirklich benutzt. Ein Bild wird mit sf::Textur geladen.

Man könnte natürlich eine Textur einmal in sf::image und einmal in sf::texture laden. Allerdings wäre das ja nicht so ganz das wahre.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

15

22.01.2013, 10:23

Du wirst die Daten immer doppelt brauchen - auf der CPU und auf der FPU. Also kannst du genauso gut Image und Texture nehmen. Lädst das Image from File, die Texture from Image.
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]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

22.01.2013, 10:37

Allerdings wirst du auf der CPU nicht die vollständigen Bilddaten brauchen, sondern nur eine Kollisionsmaske. Der effizienteste Weg dürfte also sein, das Bild temporär als sf::Image zu laden, aus dem sf::Image eine Kollisionsmaske sowie eine sf::Texture zu generieren und das sf::Image dann wieder freizugeben...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (22.01.2013, 10:51)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

17

22.01.2013, 10:45

Jup, da reicht eine Byte- oder Bitmaske. Ich persönlich baue mir Bitmasken zusammen.
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]

ERROR

Alter Hase

  • »ERROR« ist der Autor dieses Themas

Beiträge: 417

Wohnort: Paderborn

Beruf: Informatik Student

  • Private Nachricht senden

18

22.01.2013, 10:59

Vielen Dank euch beiden, jetzt habe ich endlich eine Möglichkeit dafür. Habe solche Masken "vergessen " in Betracht zu ziehen ;).

Werde mich damit auseinander setzen. Danke nochmal ;)

MGBeginner

Frischling

Beiträge: 81

Wohnort: Limburg

  • Private Nachricht senden

19

22.01.2013, 19:22

Sorry, das war natürlich Unsinn mit dem SDL-Link, war wohl schon zu spät gestern Abend. Vielleicht kann es ja ein Moderator löschen, ich hab nämlich noch nicht
raus, wie ich einen eigenen Beitrag hier löschen kann !?

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

20

22.01.2013, 19:28

Am besten gar nicht. Beiträge zu löschen bzw den Inhalt zu entfernen ist nicht sonderlich schön. Wenn ein Mod denkt dein Beitrag sollte aus Grund XYZ gelöscht werden wird er das tun. Du kannst natürlich auch einen anschreiben. Im Prinzip sollten Diskussionen aber möglichst komplett bleiben.
„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