Ich möchte mit vPython ein kleines Spiel schreiben und will nicht, das der Held durch den Boden fällt.
viele dank im voraus
Kollisionskontrolle bei VPython
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Dann überlege Dir zunächst unabhängig von grafischer Darstellung eine Datenstruktur, die Meta-Informationen beherbergt, wie etwa Bodenbeschaffenheit usw.
Dann musst Du irgend wie ein Mapping basteln, dass solchen Dingen wie einer Spielfigur zu den einzelnen Informationen ein Aktionsmuster zuordnet.
Bsp:
Nun kann man einer Figur sagen, dass sie auf allen Elementen mit dem Attribut "solid" laufen kann und eben nicht einsinkt, herunterfällt usw.
Natürlich muss sich die Figur im "Level" die Infos beschaffen können, worauf sie gerade steht oder wo sie gegen läuft
Findet man raus, dass da ein Element "rock" ist, so kann die Figur nun schlussfolgern, dass sie darauf laufen kann.
Dann musst Du irgend wie ein Mapping basteln, dass solchen Dingen wie einer Spielfigur zu den einzelnen Informationen ein Aktionsmuster zuordnet.
Bsp:
Code: Alles auswählen
elements = {
"rock": ["solid", "unbreakable", "heavy"],
"water": ["fluid", "swimable"],
....
}
Natürlich muss sich die Figur im "Level" die Infos beschaffen können, worauf sie gerade steht oder wo sie gegen läuft
Findet man raus, dass da ein Element "rock" ist, so kann die Figur nun schlussfolgern, dass sie darauf laufen kann.
@sea-live: Es muss wahrscheinlich VPython sein weil 2D und 3D doch ein gewisser Unterschied ist.
Und auch in 2D bietet PyGame nur bis zu einem gewissen Grad Unterstützung. Es gibt zwar Möglichkeiten zur Kollisionsabfrage, aber den Test, ob eine Spielfigur "durch den Boden fällt", muss man darauf aufbauend schon noch selber implementieren.
Und auch in 2D bietet PyGame nur bis zu einem gewissen Grad Unterstützung. Es gibt zwar Möglichkeiten zur Kollisionsabfrage, aber den Test, ob eine Spielfigur "durch den Boden fällt", muss man darauf aufbauend schon noch selber implementieren.