Seite 1 von 1
Kollisionskontrolle bei VPython
Verfasst: Sonntag 25. Januar 2009, 11:51
von jtk
Ich möchte mit vPython ein kleines Spiel schreiben und will nicht, das der Held durch den Boden fällt.
viele dank im voraus

Re: Kollisionskontrolle bei VPython
Verfasst: Sonntag 25. Januar 2009, 12:47
von numerix
jtk hat geschrieben:Ich möchte mit vPython ein kleines Spiel schreiben und will nicht, das der Held durch den Boden fällt.
viele dank im voraus

Soll dir jemand das Programm schreiben oder was hättest du gern?
Verfasst: Montag 26. Januar 2009, 13:03
von jtk
nicht ganz. ich hätten nur gerne einen Denkanstoß, wie man das lösen könnte
Verfasst: Montag 26. Januar 2009, 13:23
von Hyperion
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:
Code: Alles auswählen
elements = {
"rock": ["solid", "unbreakable", "heavy"],
"water": ["fluid", "swimable"],
....
}
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.
Verfasst: Montag 26. Januar 2009, 14:48
von sea-live
für sowas stellt pygame schon die nötigen routinern zur verfügung!
warumm muss es ausgerecxhnet in v sein
Verfasst: Montag 26. Januar 2009, 15:26
von Hyperion
sea-live hat geschrieben:für sowas stellt pygame schon die nötigen routinern zur verfügung!
Spielst Du auf Sprites an?
Verfasst: Montag 26. Januar 2009, 16:31
von BlackJack
@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.