Spielfigur Bewegungseingrenzung
Übersicht

blitzgamer2000Betreff: Spielfigur Bewegungseingrenzung |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe eine Spielfigur mit 20*20 Pixel und eine Map mit verschieden große Objekte wie Steine Häuser alle in unterschiedlicher Größe.
von 10*10 bis 100*100. Wie kann ich es am einfachsten lösen das die Spielfigur nicht über diese Objekte läuft? |
||
Online Space Shooter V.1 90%
RPG Game V.1 40% RPG Map Editor V.3 100% |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne ins Detail zu gehen....
Eine Kollisionsprüfung Figur/Objekten und wenn eine Kollision stattfindet die Figur wieder zurücksetzten! |
||
[BB2D | BB3D | BB+]
|
icestorm |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst einfach prüfen, ob die Bilder kollidieren, mit IMAGERECTCOLLIDE oder IMAGECOLLIDE.
Die Online-Hilfe kann dir dabei sicher nützlich sein ![]() |
||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und Suche![]() ![]() Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Langsamen Kollisionsabfragen sollten immer die allerletzte Notlösung sein -immerhin gehört es zum guten Programmierstil, möglichst Ressourcen zu schonen, nur so lassen sich auch grössere Projekte realisieren.
Wenn deine Objekte eine feste Grösse haben, wirst du wahrscheinlich eh eine Karte deiner Landschaft als Array gespeichert haben (Tilemap). Du brauchst also nur das jeweilige Feld in deiner Tilemap, also im Array, abfragen. Ist das Feld mit einem Objekt (Haus etc.) "besetzt", kann deine Figur nicht auf dieses Feld laufen. Die "Kollisionsabfrage" findet also quasi im Array selbst statt -das ist hundertmal schneller, als alle Grafiken einzeln auf Kollision zu prüfen. Du musst natürlich die Position des Spielers auf deiner Tilemap kennen (z.B. Zeile 5, Spalte 3). Dann kannst du immer nur das Feld der Tilemap prüfen, auf das der Spieler sich hinbewegt, also wäre der Aufwand (und die Rechenleistung) minimal, egal wie gross die Landschaft ist. |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
blitzgamer2000 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
meine figur ist aber 3x3 felder der tilemap groß
objekte 1x1 bis 10 x 10..... |
||
Online Space Shooter V.1 90%
RPG Game V.1 40% RPG Map Editor V.3 100% |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wo ist das Problem? Das Prinzip ist doch genau das selbe. Die Objektgrösse spielt gar keine Rolle -wenn ein Haus 10x10 Felder gross ist, dann sind eben hundert Felder in der Map mit dem selben Wert belegt. | ||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group