Kollision auf Tilemap bei Jump'n'Run und 2. Prob

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

The_Nici

Betreff: Kollision auf Tilemap bei Jump'n'Run und 2. Prob

BeitragSa, Sep 22, 2007 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Abend allerseits,
Momentan prügle ich mich mit Kollisionen auf einer Tilemap rum. Die vom Jumpnruntut will ich nicht abschauen, weil sie grottig ist und ich selber programmieren will. Wink

Ich dachte, ich geh mal eine For->Next schleife mit Y und X durch, und dann frag ich, ob der player mit dem Tile kollidierte. Lustig, nur, was dann? ich muss wissen von welcher Seite er hinein Kollidierte, um dann ihn wieder zurückzusetzen, sonst kann er Wände hoch klettern. Ahja, ich benutze 16er Tiles.

Zweites Problem: Wenn beide Spieler CTRL drücken (Links, Rechts), schiesst nur einer. Frage: Warum? An mehr als 3 Tasten kanns nicht liegen. Gehen und Fliegen geht wunderbar.
Hab schon versucht, einfach zwei Dim's für Laser zu machen, nützte nichts. Muss also an den Tasten liegen. Kann man das beheben oder bin ich geleckt?
 

Beatenvoy

BeitragSo, Sep 23, 2007 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi The_Nici

Also mit den Collisonen in bestimmte richtungen trickse ich immer ein wenig!
Ich nehme immer 4 Bilder(Blaken) die ich an dem Spieler so anordner das oben, unten , links und rechts eins ist.
Mit diesen kannst du dann die Collisionsabfrage machen!
Den spieler zeichne ich auch nicht in der For-Next-Schleife, sondern unterhalb der schleife...ist aber je nach situation verschieden !

hoffe das hilft dir ein wenig ...

Grüße

DerHase

BeitragSo, Sep 23, 2007 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Man braucht keine vier Balken Bilder weil man ja auch ImageRectCollide oder ImageRectOverlap nehmen kann.
Play Satyr!
 

Madde

Gast

BeitragSo, Sep 23, 2007 16:24
Antworten mit Zitat
Zum Zweiten Prob: Ohne weitere Informationen (und/oder Codestücken) wie du die Schüsse erstellst und verwaltest ist es von anderen schwer zu lösen.

Hubsi

BeitragMo, Sep 24, 2007 7:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe selbst eine Tastatur die bei beiden Strg-Tasten nur eine zurückgibt. Das liegt an der Technik die hinter den Tastaturen steckt. Es gab hier mal einen Link zu einem wunderbaren pdf das aufzeigt wie Tastaturen funktionieren und erklärt warum manche Tasten nicht miteinander auskommen, aber das ist ewig her. Aus selbigem Grund erkennt auch nur das Betriebssystem die Strg-Alt-Entf Kombi, wenn ich mich recht entsinne.

The_Nici

BeitragMo, Sep 24, 2007 8:13
Antworten mit Zitat
Benutzer-Profile anzeigen
DerHase hat Folgendes geschrieben:
Man braucht keine vier Balken Bilder weil man ja auch ImageRectCollide oder ImageRectOverlap nehmen kann.

Damit ist gemeint, dass ich also jede Seite mit einem Rechteckigen bereich überprüfe, oder? Ok. werd ich machen.
Also muss ich in einer For->Next Schleife die Tiles auswählen, Kollisionen machen und dann das ganze überprüfen, dann zum nächsten gehen.
Danke für die gute Hilfe, euch. Very Happy

Waveblue

BeitragMo, Sep 24, 2007 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich brauchst du keine for-next-Schleife. Rechne einfach die Position deiner Figur durch 16 und finde damit heraus, auf welcher Tileposition Die Figur ist. und dann kannst du wunderbar herausfinden, welche 4 Tiles du auswählen musst um eine Kollision zu überprüfen, nämlich alle um das entsprechende Tile herum.
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

The_Nici

BeitragMo, Sep 24, 2007 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Figur bewegt sich mit Pixel, also ich hab kein Scrolling, die Tiles sind aber immernoch mit ner tollen Tilemap. Also hat das Prog während dem Spiel 0 Ahnung, auf welchem Tile der Spieler gerade rumdaddelt.
Muss ich jetzt also schauen welche Differenz am kleinsten ist, oder steh ich wie immer total auf dem Schlauch?

Hubsi

BeitragMo, Sep 24, 2007 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Nehmen wir an der Spieler ist auf Pixelposition 100,100. Entspricht auf der Tilemap bei 16'er Tiles und einer Spielfigur von 32 x 32 Pixel -> (100 - 16) / 16 = 5.25 = Integerwert 5

Tada, haben wir die Position auf der Map Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group