Jeg trenger hjelp eller atleast en peker med kollisjon i et spill im gjør for moro skyld

stemmer
1

Så jeg laget et spill, laget et kart, og alt fungerer fint. Problemet er at jeg har gjort en veldig dum kollisjonssystem som fungerte først, men jeg kjører inn i problemer.

Jeg bruker spillerens X- og Y-posisjonene til å trekke karakter, og ved hjelp av spillerne tilex og Tiley (x / 32, og y / 32) for å detektere kollisjon. Her et bilde som forklarer mitt problem: problemet

The Red merket spillere tilex og Tiley cordinate. Spiller flytter fortsatt beyound veggen der kollisjonen skulle skje.

Den tilex vaktene la en økning / nedgang skje dersom de kolliderer med en fast flis, men spillerens X og Y (sprite) fortsatt befinner seg utenfor den boksen for 31 flere piksler. Jeg har ingen anelse om hvordan å fikse dette. Min spiller er ikke sentrert, det er trukket på øverste høyre hjørne.

Dette er den gjeldende koden im bruker:

    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 er antall solide fliser, og colVar bør tilsvare til det nummeret hvis kollisjon ikke skje. I tilfelle skjer kollisjon, det tallet doesnt øke med én, og ingenting skjer. Be om noen flere detaljer du trenger hvis du ønsker å hjelpe meg, men du trenger mer informasjon.

Hjelp eller tips ville være verdsatt. Takk skal du ha.

Publisert på 02/12/2019 klokken 23:54
kilden bruker
På andre språk...                            


1 svar

Jeg trenger hjelp eller atleast en peker med kollisjon i et spill im gjør for moro skyld

stemmer
1

Så jeg laget et spill, laget et kart, og alt fungerer fint. Problemet er at jeg har gjort en veldig dum kollisjonssystem som fungerte først, men jeg kjører inn i problemer.

Jeg bruker spillerens X- og Y-posisjonene til å trekke karakter, og ved hjelp av spillerne tilex og Tiley (x / 32, og y / 32) for å detektere kollisjon. Her et bilde som forklarer mitt problem: problemet

The Red merket spillere tilex og Tiley cordinate. Spiller flytter fortsatt beyound veggen der kollisjonen skulle skje.

Den tilex vaktene la en økning / nedgang skje dersom de kolliderer med en fast flis, men spillerens X og Y (sprite) fortsatt befinner seg utenfor den boksen for 31 flere piksler. Jeg har ingen anelse om hvordan å fikse dette. Min spiller er ikke sentrert, det er trukket på øverste høyre hjørne.

Dette er den gjeldende koden im bruker:

    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 er antall solide fliser, og colVar bør tilsvare til det nummeret hvis kollisjon ikke skje. I tilfelle skjer kollisjon, det tallet doesnt øke med én, og ingenting skjer. Be om noen flere detaljer du trenger hvis du ønsker å hjelpe meg, men du trenger mer informasjon.

Hjelp eller tips ville være verdsatt. Takk skal du ha.

Svarte 02/12/2019 kl. 23:54
kilden bruker

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