Potřebuji pomoc nebo aspoň ukazatel s kolizí ve hře im dělat pro zábavu

hlasů
1

Tak jsem udělal hru, udělal mapy, a vše je v pořádku. Problém je v tom udělal jsem velmi hloupá kolizní systém, který pracoval jako první, ale jsem běží do problémů.

Já používám X a Y pozice hráčovy nakreslit postavu, dopravních prostředků a obsluha hráči tileX a Tiley (x / 32 a y / 32) pro detekci kolizí. Heres obrázek, který vysvětluje můj problém: problém

The Red Box je hráči tileX a Tiley cordinate. Hráč stále pohybuje beyound zdi, kde by srážka stane.

TileX doesnt nechat zvětšuje / zmenšuje se stalo, kdyby se srazí s pevným dlaždice, ALE hráč je X a Y (sprite), stále se pohybuje nad rámec té krabici na 31 a více bodů. Nemám ponětí, jak to opravit. Přehrávač image není uprostřed, jeho natažený na pravém horním rohu.

To je aktuální kód im pomocí:

    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 je počet pevných obkladů a colVar by se měla rovnat tomuto číslu, pokud doesnt stane kolize. V případě kolize se stane, že zvýšení počtu doesnt po druhém, a pak nic se neděje. Požádat o jakékoliv bližší informace, které potřebujete, pokud chcete, aby mi pomohl, ale budete potřebovat více informací.

Jakákoliv pomoc nebo tipy by ocenili. Děkuji.

Položena 02/12/2019 v 23:54
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

Potřebuji pomoc nebo aspoň ukazatel s kolizí ve hře im dělat pro zábavu

hlasů
1

Tak jsem udělal hru, udělal mapy, a vše je v pořádku. Problém je v tom udělal jsem velmi hloupá kolizní systém, který pracoval jako první, ale jsem běží do problémů.

Já používám X a Y pozice hráčovy nakreslit postavu, dopravních prostředků a obsluha hráči tileX a Tiley (x / 32 a y / 32) pro detekci kolizí. Heres obrázek, který vysvětluje můj problém: problém

The Red Box je hráči tileX a Tiley cordinate. Hráč stále pohybuje beyound zdi, kde by srážka stane.

TileX doesnt nechat zvětšuje / zmenšuje se stalo, kdyby se srazí s pevným dlaždice, ALE hráč je X a Y (sprite), stále se pohybuje nad rámec té krabici na 31 a více bodů. Nemám ponětí, jak to opravit. Přehrávač image není uprostřed, jeho natažený na pravém horním rohu.

To je aktuální kód im pomocí:

    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 je počet pevných obkladů a colVar by se měla rovnat tomuto číslu, pokud doesnt stane kolize. V případě kolize se stane, že zvýšení počtu doesnt po druhém, a pak nic se neděje. Požádat o jakékoliv bližší informace, které potřebujete, pokud chcete, aby mi pomohl, ale budete potřebovat více informací.

Jakákoliv pomoc nebo tipy by ocenili. Děkuji.

Odpovězeno 02/12/2019 v 23:54
zdroj uživatelem

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