Speed/Kollision/Gta-Steuerung

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

BlackFog

Betreff: Speed/Kollision/Gta-Steuerung

BeitragSa, Mai 12, 2007 9:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Morgen,
Erstmal Sorry für den dummen Thread-Titel.
Also ich arbeite grade an einem Topdown 2D Shooter und benutze dafür den Mapeditor von Ts. Jedoch hab ich grade eine kleines Problem mit der Kollision und stehen , dezent gesagt, total auf dem Schlauch.
Ich möchte das wenn der Spieler mit dem kolli layer kollidiert stehen bleibt , alos wird der speed auf 0 reduziert. Jedoch soll der Speed wieder auf 2 sobald der Spieler sich in eine andere Richtung dreht,in der kein "Kollisions-Tile" liegt.

Mein Source:
Player Koordinaten
Code: [AUSKLAPPEN]

p\x = p\x +Cos(winkel+180) * p\speed
p\y = p\y +Sin(winkel+180) * p\speed





Code: [AUSKLAPPEN]

Function kolli()
winkel=  ATan2(my#-p\y,mx#-p\x)+180
kolli_layer = layer_map_collision(kolli_handle.layer, p\x , p\y  , char(winkel))
If kolli_layer = 1
p\speed = 0
EndIf
End Function


Wäre für jeden Tipp dankbar.

MFG

BlackFog

Goodjee

BeitragSa, Mai 12, 2007 11:22
Antworten mit Zitat
Benutzer-Profile anzeigen
schau mal im code archiv, da gibt es von mir nen code 360 grad tilemap kollision oder so ähnlich...der könnte dir eventuell weiterhelfen.

AHH, habs gefunden: https://www.blitzforum.de/foru...highlight=
 

BlackFog

BeitragSa, Mai 12, 2007 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem ist das ich nicht mit Data Feldern etc. arbeite , sondern mit Dem Mapeditor von The Shadows (mapeditor.de.vu) .
Also wenn jemand dafür eine Lösung hat bitte melden.

MFG

BlackFog
 

$tankY

BeitragSa, Mai 12, 2007 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Meine bescheidene Lösung:
Bau dir einen eigenen Leveleditor.
 

BlackFog

BeitragSa, Mai 12, 2007 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja der Mapeditor hat aber viele Vorteile die lange brauchen um realisiert zu werden und warum soll man diesen hervorragenden Mapeditor nicht verwenden? Warum das Rad neu erfinden ? Ich sehe dafür keinen Grund Very Happy

MFG

BlackFog
 

$tankY

BeitragSa, Mai 12, 2007 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst ihn auf deine eigenen Bedürfnisse optimieren. Hast nichts überflüssiges und kannst Nötiges integrieren.
 

BlackFog

BeitragSa, Mai 12, 2007 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir schonmal einen eigenen Mapeditor geschrieben jedoch konnte man dort nur tiles setzen , laden und speichern. Um einen eigenen Mapeditor mit den Funktionen des Mapeditors von Ts zu schreiben braucht man viel Erfahrung und zeit. Und viele Funktionen sind daraus wirklich nützlich.

MFG
BlackFog

PS: Jetzt bitte keine Diskussion mehr wir wollen hier ja nicht rumflamen Very Happy
 

$tankY

BeitragSa, Mai 12, 2007 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Denke, dass dir dann nichts anderes übrig bleibt, als die Dokumentation oder die Samples durchzuschauen.
 

BlackFog

BeitragSo, Mai 13, 2007 9:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich habe jetzt einen "Ansatz" gefunden jedoch kann ich ihn nicht richtig testen , da es wohl einen Fehler in der Mapengine gibt (oder ich mach einen Smile )

Also mein Code bis jetzt
Code: [AUSKLAPPEN]

kolli_layer = layer_map_collision(kolli_handle.layer, p\x+i , p\y+i  , char(winkel))
If kolli_layer = 1
winkel_temp = winkel
p\speed = 0
If winkel_temp + 45 < winkel
p\speed = 2
ElseIf winkel_temp-45 > winkel
p\speed = 2
EndIf
EndIf


Und der Fehler passiert in dieser Zeile
Code: [AUSKLAPPEN]

If ImagesCollide(image,xx,yy,frame-1, sprite,spritex,spritey,spriteframe)=1 Then Return 1


Fehler ist "Illegal Memory Adress" .
Also wenn jemand eine idee hat bitte melden.

MFG

BlackFog

PS: Der Fehler tritt auf wenn ich längere Zeit mit dem Kolli Layer in Berührung bin.

Silver_Knee

BeitragSo, Mai 13, 2007 10:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Illegal Memory Adress
das kommt bei der demo immer wenn der debug nicht an ist und irgtendwas net geht mach mal debug an und mal sehen welceinfo es dann gibt
 

BlackFog

BeitragSo, Mai 13, 2007 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit und ohne Debugger "Illegal Memory Adress".

mFG

BlackFog

Edit:// Ok es liegt an der Rotation des Bildes , damit kommt die Engine wohl nicht zurecht. Mit einem bild Ohne Rotation klappts perfekt.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group