Potrzebuję pomocy lub przynajmniej wskaźnik z kolizji w grze im zrobienie dla zabawy

głosy
1

Więc zrobiłem grę, wykonane mapy i wszystko działa poprawnie. Problemem jest to, że zrobił bardzo głupi systemu kolizji, który pracował najpierw, ale używam do problemów.

Używam X i Y pozycji gracza wyciągnąć charakter, a przy użyciu graczy tileX i tileY (x / 32 i T / 32) w celu wykrycia kolizji. Herezje obraz, który wyjaśnia mój problem: problem

Pudełko Czerwony to gracze tileX i tileY cordinate. Gracz nadal porusza beyound ścianie, gdzie kolizji powinno się zdarzyć.

TileX robi niech wzrosty / spadki zdarzyć, jeśli zderzają się ze stałym kafle, ALE gracz na X i Y (sprite) nadal przemieszcza się poza tym polu za 31 więcej pikseli. Nie mam pojęcia jak to naprawić. Odtwarzacz Obraz nie jest wyśrodkowany, jej wyciągnąć na prawym górnym rogu.

Jest to aktualny kod im przy:

    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 jest liczba stałych płytek i colVar powinna być równa tej liczbie jeśli kolizja nie robi się zdarzyć. W przypadku kolizji zdarza się, że wzrost liczby nie robi po drugim, a potem nic się nie dzieje. Zapytaj o więcej szczegółów trzeba, jeśli chcesz mi pomóc, ale potrzebujemy więcej informacji.

Każda pomoc lub wskazówki będą mile widziane. Dziękuję Ci.

Utwórz 02/12/2019 o 23:54
źródło użytkownik
W innych językach...                            


1 odpowiedzi

Potrzebuję pomocy lub przynajmniej wskaźnik z kolizji w grze im zrobienie dla zabawy

głosy
1

Więc zrobiłem grę, wykonane mapy i wszystko działa poprawnie. Problemem jest to, że zrobił bardzo głupi systemu kolizji, który pracował najpierw, ale używam do problemów.

Używam X i Y pozycji gracza wyciągnąć charakter, a przy użyciu graczy tileX i tileY (x / 32 i T / 32) w celu wykrycia kolizji. Herezje obraz, który wyjaśnia mój problem: problem

Pudełko Czerwony to gracze tileX i tileY cordinate. Gracz nadal porusza beyound ścianie, gdzie kolizji powinno się zdarzyć.

TileX robi niech wzrosty / spadki zdarzyć, jeśli zderzają się ze stałym kafle, ALE gracz na X i Y (sprite) nadal przemieszcza się poza tym polu za 31 więcej pikseli. Nie mam pojęcia jak to naprawić. Odtwarzacz Obraz nie jest wyśrodkowany, jej wyciągnąć na prawym górnym rogu.

Jest to aktualny kod im przy:

    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 jest liczba stałych płytek i colVar powinna być równa tej liczbie jeśli kolizja nie robi się zdarzyć. W przypadku kolizji zdarza się, że wzrost liczby nie robi po drugim, a potem nic się nie dzieje. Zapytaj o więcej szczegółów trzeba, jeśli chcesz mi pomóc, ale potrzebujemy więcej informacji.

Każda pomoc lub wskazówki będą mile widziane. Dziękuję Ci.

Odpowiedział 02/12/2019 o 23:54
źródło użytkownik

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