Kollisionen bei 2D RPG

Übersicht BlitzBasic Beginners-Corner

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

Jack

Betreff: Kollisionen bei 2D RPG

BeitragSo, Sep 18, 2005 10:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, ich habe gestern angefangen, ein 2D RPG zu proggen. Da aber die Kollisionsbefehle zu langsam laufen, wollte ich fragen, ob jemand eine gute Funktion für mich hat. Ich habe nämlich folgendes Problem:
Mein RPG fängt in einem Irrgarten an. Wie frage ich ab, wenn meine Figur aus Norden kommt und nach Süden geht das sie gegen keinen Baum stößt? Und das Gleiche mit Westen und so weiter... Muss ich eher etwas wie...
BlitzBasic: [AUSKLAPPEN]
If ImageRectOverlap(...) And Position = 2 Then ...

...oder eher etwas wie...
BlitzBasic: [AUSKLAPPEN]
If ImageRectOverlap(...) Then
x = x - 1
EndIf

...machen. Oder keins von beiden?

Danke schon mal im Voraus
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein

Xalon

BeitragSo, Sep 18, 2005 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry,aber mit dem wissen kommst bei nem RPG net recht weit Rolling Eyes
Lass dir doch selber was einfallen,es gibt so viele wege das zu lösen...


Xalon
>>Besucht doch mal meine Seite,mit NEUEN Tutorials<<
User posted image
 

blackspace

BeitragSo, Sep 18, 2005 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
In der tat soltest du dich vielleicht mal an etwas einfachem versuchen.
Im übrigen könntest du zum beispiel erst die kollision testen, und danach die coordinaten vergleichen um zu ermitteln, aus welcher richtung man kommt.

Spikespine

BeitragSo, Sep 18, 2005 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke ein Grafik-Kollisionsbefehl ist hier falsch am platz. Du hast die Map doch bestimmt in einem Array. Prüfe doch vor jedem Bewegungsschritt, ob das nächste Feld auf der Map frei ist...
Athlon 64 3700+ | 1024 MB RAM | GeForce 7900 GT | Blitz2D, Blitz3D, BlitzPlus, BlitzMax

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Sep 18, 2005 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Jack, ich habe mal so ein Thrust-Clon gepprogt. Man kann mit einem Rausschiff über eine fliessend bewegende Tilemap fliegen. Das Raumschiff bleibt dabei immer in der Bildschirmmitte. Da die Tilemap auch transparente Felder beeinhaltete, musste ich eine Pixelgenaue Kollisionsabfrage machen. Da diese sehr langsam ist, habe ich nur die max. 4 Tiles auf welchen sich das Raumschiff gleichzeitig befinden kann auf Kollision geprüft. Somit hat die Routine enorm an Geschwindigkeit zugelegt. Die Abfrage war so ähnlich wie dein erstes Beispiel... Erst die Positionen der Tiles, wenn innerhalb eines 'Radius', dann auf Pixelgeneue Kollision prüfen.

Surat

BeitragSo, Sep 18, 2005 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Äh, also ich verwende verschiedene Layer
Bäume oder Sträucher sind sowieso Felder, auf denen der
Spieler nichts zu suchen hat!
Für Npc's nehme ich halt nen anderen layer und prüfe das mit
True und False
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

Jack

BeitragMo, Sep 19, 2005 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, aber Spikespine wie soll ich das bei jedem Bewegungsschritt machen? Dazu müsste ich doch so etwas wie...
BlitzBasic: [AUSKLAPPEN]
If Schritt = 1 Then 
If

...machen, oder? Aber was kommt dann nach If?
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein

Eclipse

BeitragMo, Sep 19, 2005 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuch's doch mal so:
Die ZUKÜNFTIGE Positiion wird auf Kollision überprüft und wenn keine statt findet dann wird die figur bewegt

DivineDominion

BeitragMo, Sep 19, 2005 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
~GESCHLOSSEN~


Das Thema ist so alt wie dieses Forum. Wir haben etliche Threads mit diesem Thema. Und sogar Tutorials gibt es in "FAQ & Tutorials" zu bewundern, die genau dieses Problem behandeln.

Such bitte dort und mit der Forumsuche hier rum.
christian.tietze@gmail.com - https://christiantietze.de
macOS

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group