Seite 1 von 1

Bereiche in Bildern sperren oder für Aktionen freigeben

Verfasst: 19.04.2006 14:43
von Martin66119
Hallo an alle!

Ich habe folgendes Problem und weiß nicht ob mein Ansatz der richtige und auch sinnvolle ist.

Ich möchte z.B. ein Auto über eine Straße bewegen und nutze dazu ein ein entsprechendes Hintergrundbild auf dem ich dann ein Sprite entsprechend verschiebe. Beim Verlassen des z.B. Straße soll eine bestimmte Procedure starten (Sound, das sprite "wackeln" etc.).
Ist es dazu notwendig dem Hintergrundbild mit der Straße eine Matrix zuzuordenen welche Bereiche des Hintergrundes für das Auto sozusagen ok sind und bei welchen Bereichen was passieren soll.

Bei einem Hintergrundbild von z.B. 640x480 Bildpunkten müsste ich also bei einem zweidimensionalen Feld "Feld.b(640,480) für jeden Punkt eine entsprechende Definition treffen und im Programm dann durch eine Procedur prüfen, ob ein Punkt oder ein Berich des Autos mit dem Punkt kollidiert.

Wenn meine Überlegungen richtig sind, wie definiert man dann am besten die Matrix?

Danke fü eure Hilfe

Martin

Verfasst: 19.04.2006 15:42
von The Rookie
Hallo Martin, ...

Programmtechnisch am einfachsten (wenn auch bei der Ausführung nicht unbedingt am schnellsten) könntest Du es so machen, dass Du einfach das Hintergundbild in einem Sprite speicherst, bei dem die Straße transparent ist.

Dann könntest Du relativ einfach per SpritePixelCollision() prüfen, ob das 'Auto' momentan mit dem Rand (also dem nicht-transparenten Teil des Hintergrundbildes) kollidiert.

Wie gesagt - bestimmt nicht die schnellste Methode - aber für den Anfang vielleicht die einfachste. ;)

Gruß und good luck,
The Rookie.

Verfasst: 20.04.2006 16:15
von Kaeru Gaman
normalerweise macht man sowas mit ner tilemap...

also, du setzt das gesamtbild aus Tiles ("kacheln") zusammen.

dann sind eben manche straßenabschnitte und andere nicht.

das macht es einfacher, mit dem untergrund zu interagieren.

auch unterschiedliche interaktionen sind so einfach realisierbar,
also, ruckeln beim übern rasen fahren, stoppen an mauern bzw. crash wenn zu schnell an der mauer...


mit nem großen bild und pixelkollisionen geht man da eher nicht vor...