Ich brauche Hilfe oder zumindest einen Zeiger mit Kollision in einem Spiel im mache Spaß

stimmen
1

Also habe ich ein Spiel, eine Karte, und alles funktioniert prima. Das Problem ist, ich ein sehr dummes Kollisionssystem hergestellt, die zuerst gearbeitet, aber ich bin mit Problemen.

Ich verwende Spieler X und Y-Positionen Zeichen zu zeichnen, und unter Verwendung von Spielern Tilex und Tiley (x / 32 und y / 32) einer Kollision zu erkennen. Heres ein Bild, das mein Problem erklärt: das

Die Red Box ist Spieler Tilex und Tiley cordinate. Spieler bewegt sich nach wie vor beyound der Wand, wo die Kollision passieren sollte.

Die Tilex doesnt lassen erhöht / verringert passieren, wenn sie mit einem soliden Fliesen, ABER Spielers X und Y (Sprite) nach wie vor bewegt sich jenseits dieses Feld für 31 weitere Pixel kollidieren. Ich habe keine Ahnung, wie dieses Problem zu beheben. Mein Player Bild ist nicht mittig, sein auf der rechten oberen Ecke gezogen.

Dies ist der aktuelle Code im mit:

    for i=1, #lsx_map1 do 
        if math.floor(player.fx/32) == lsx_map1[i] and math.floor(player.fy/32) == lsy_map1[i] then
            player.speedx = 0
            player.speedy = 0   
            print(COLISSION DETECTED ON ..player.x.. ..player.y)
        else
            print(colVar)
            colVar = colVar+1
        end
    end
    if colVar == #lsx_map1 then     
        player.x = player.fx
        player.y = player.fy
    end

lsx_map1 ist die Anzahl der festen Fliesen und SpaltenVar auf diese Zahl sollte gleich bei Kollision passieren tut. Im Falle Kollision geschieht, diese Zahl doesnt um eins erhöht, und dann passiert nichts. Fragen Sie nach irgendwelchen mehr Details, die Sie benötigen, wenn Sie mir helfen wollen, aber Sie mehr Informationen benötigen.

Jede Hilfe oder Tipps wäre sehr hilfreich. Vielen Dank.

Veröffentlicht am 02/12/2019 um 23:54
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

Ich brauche Hilfe oder zumindest einen Zeiger mit Kollision in einem Spiel im mache Spaß

stimmen
1

Also habe ich ein Spiel, eine Karte, und alles funktioniert prima. Das Problem ist, ich ein sehr dummes Kollisionssystem hergestellt, die zuerst gearbeitet, aber ich bin mit Problemen.

Ich verwende Spieler X und Y-Positionen Zeichen zu zeichnen, und unter Verwendung von Spielern Tilex und Tiley (x / 32 und y / 32) einer Kollision zu erkennen. Heres ein Bild, das mein Problem erklärt: das Problem

Die Red Box ist Spieler Tilex und Tiley cordinate. Spieler bewegt sich nach wie vor beyound der Wand, wo die Kollision passieren sollte.

Die Tilex doesnt lassen erhöht / verringert passieren, wenn sie mit einem soliden Fliesen, ABER Spielers X und Y (Sprite) nach wie vor bewegt sich jenseits dieses Feld für 31 weitere Pixel kollidieren. Ich habe keine Ahnung, wie dieses Problem zu beheben. Mein Player Bild ist nicht mittig, sein auf der rechten oberen Ecke gezogen.

Dies ist der aktuelle Code im mit:

    for i=1, #lsx_map1 do 
        if math.floor(player.fx/32) == lsx_map1[i] and math.floor(player.fy/32) == lsy_map1[i] then
            player.speedx = 0
            player.speedy = 0   
            print("COLISSION DETECTED ON "..player.x.." "..player.y)
        else
            print(colVar)
            colVar = colVar+1
        end
    end
    if colVar == #lsx_map1 then     
        player.x = player.fx
        player.y = player.fy
    end

lsx_map1 ist die Anzahl der festen Fliesen und SpaltenVar auf diese Zahl sollte gleich bei Kollision passieren tut. Im Falle Kollision geschieht, diese Zahl doesnt um eins erhöht, und dann passiert nichts. Fragen Sie nach irgendwelchen mehr Details, die Sie benötigen, wenn Sie mir helfen wollen, aber Sie mehr Informationen benötigen.

Jede Hilfe oder Tipps wäre sehr hilfreich. Vielen Dank.

Beantwortet am 02/12/2019 um 23:54
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more