Мне нужна помощь, или по крайней мере указателя с столкновением в игре им решения для удовольствия

голоса
1

Так что я сделал игру, сделал карту, и все работает отлично. Проблема заключается в том, я сделал очень тупую систему столкновений, которые работали первым, но я бег в проблемы.

Я использую позиции игрока X и Y рисовать характер, и с помощью игроков tileX и Тил (х / 32 и у / 32) для обнаружения столкновения. Heres картину, которая объясняет мою проблему: проблема

Красная коробка игроки tileX и Тили cordinate. Игрок все еще движется к стене примеры запросов, где столкновение должно произойти.

Оленья кожа TileX пусть увеличивается / уменьшается, если они сталкиваются с твердой плиткой, НО игрок X и Y (спрайт) по-прежнему выходит за рамками этой коробки для более 31 пикселей. Я понятия не имею, как это исправить. Плеер изображение не по центру, его рисуется на правом верхнем углу.

Это текущий код им с помощью:

    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 это количество твердых плиток, и colVar должна быть равна этому числу, если столкновение не случается. В случае столкновение происходит, что увеличение числа оленьего кожи на один, а затем ничего не происходит. Спросите больше деталей вам нужно, если вы хотите, чтобы помочь мне, но вам нужно больше информации.

Любая помощь или советы будут оценены. Спасибо.

Задан 02/12/2019 в 23:54
источник пользователем
На других языках...                            


1 ответов

Мне нужна помощь, или по крайней мере указателя с столкновением в игре им решения для удовольствия

голоса
1

Так что я сделал игру, сделал карту, и все работает отлично. Проблема заключается в том, я сделал очень тупую систему столкновений, которые работали первым, но я бег в проблемы.

Я использую позиции игрока X и Y рисовать характер, и с помощью игроков tileX и Тил (х / 32 и у / 32) для обнаружения столкновения. Heres картину, которая объясняет мою проблему: проблема

Красная коробка игроки tileX и Тили cordinate. Игрок все еще движется к стене примеры запросов, где столкновение должно произойти.

Оленья кожа TileX пусть увеличивается / уменьшается, если они сталкиваются с твердой плиткой, НО игрок X и Y (спрайт) по-прежнему выходит за рамками этой коробки для более 31 пикселей. Я понятия не имею, как это исправить. Плеер изображение не по центру, его рисуется на правом верхнем углу.

Это текущий код им с помощью:

    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 это количество твердых плиток, и colVar должна быть равна этому числу, если столкновение не случается. В случае столкновение происходит, что увеличение числа оленьего кожи на один, а затем ничего не происходит. Спросите больше деталей вам нужно, если вы хотите, чтобы помочь мне, но вам нужно больше информации.

Любая помощь или советы будут оценены. Спасибо.

Ответил 02/12/2019 в 23:54
источник пользователем

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