Kollisionskontrolle bei VPython

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
jtk
User
Beiträge: 37
Registriert: Montag 19. November 2007, 17:16

Ich möchte mit vPython ein kleines Spiel schreiben und will nicht, das der Held durch den Boden fällt.

viele dank im voraus :)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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?
jtk
User
Beiträge: 37
Registriert: Montag 19. November 2007, 17:16

nicht ganz. ich hätten nur gerne einen Denkanstoß, wie man das lösen könnte
Benutzeravatar
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:

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.
sea-live
User
Beiträge: 440
Registriert: Montag 18. Februar 2008, 12:24
Wohnort: RP

für sowas stellt pygame schon die nötigen routinern zur verfügung!
warumm muss es ausgerecxhnet in v sein
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

sea-live hat geschrieben:für sowas stellt pygame schon die nötigen routinern zur verfügung!
Spielst Du auf Sprites an?
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.
Antworten