@Afafks123132132165

Как исправить баг?

Вот так я реализовал движение. Но проблема в том, что цикл проходя упирается первый блок который соответствует условиям и игрок проходит через стену. Как это исправить?
for(i=0;i<5;i++){
        var left1 = 0;
        for(j in map){
          if(y <= map[j].y && y+32 >= map[j].y && x >= map[j].x+32 && x+32 >= map[j].x+32 ||
             y <= map[j].y+32 && y+32 >= map[j].y+32 && x >= map[j].x+32 && x+32 >= map[j].x+32){
            left1 = 1;
          }
        }
        if(left == 1 && left1 == 1){
          x-=1;
        }
      }
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
dollar
@dollar
Делай добро и бросай его в воду.
Побольше всяких i, j, x, y, map, left, left1 и магических цифр - и не только искать ошибки станет невозможно, но и вообще разрабатывать дальше. Делайте хотя бы комментарии для себя (а заодно и для отвечающих), что где происходит.

Как исправить баг?

Отвечая на ваш вопрос, советую начать исправление бага с гугл-запроса: "оформление программного кода". Вот так и исправить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы