Показать сообщение отдельно
Старый 22.10.2013, 13:44
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
gloomyBrain, если я правильно понимаю, что то, что вы описываете будет работать примерно таким образом:

Нажмите на изображение для увеличения
Название: example.png
Просмотров: 535
Размер:	21.3 Кб
ID:	30124

То есть начинается итерация, происходят следующие действия:

1. Я знаю, насколько мне нужно сдвинуть персонажа, на vx и vy.

2. Я беру длину его предполагаемого пути и, начиная с конечной точки, "шагаю" до текущего положения, на один пиксель. При каждом шаге я проверяю, пересечет ли персонаж (в иллюстрации это точка) клетку. Если не пересекает — обрываю цикл и подправляю его vx и vy так, чтобы при их применении персонаж (точка) точно не пересек клетку.

3. Применяю vx и vy к координатам персонажа.

И вот получается траббл, он изображен в самой правой стороне. Красным показан путь точки при данном алгоритме. Зеленым — то, что мне кажется правильным и, одновременно, то, что у меня не получается.

В чем я ошибаюсь, объясните пожалуйста?
__________________
hauts.ru