Как сделать изометрическую сетку.
|
|
MrXolmC | Дата: Вторник, 30.06.2015, 15:08 | Сообщение # 1 |
Лопата_Ворм
Группа: Пользователи
Сообщений: 121
Награды: 2
Репутация: 34
Статус: Offline
| Как сделать изометрическую сетку, и чтобы персонаж двигался только по ней и плавно(то есть не телепортировался и шел, а когда останавливался, оказывался в центре изометрической клетки.
Сообщение отредактировал Volk - Понедельник, 01.02.2016, 14:45 |
|
| |
Gracio001 | Дата: Вторник, 30.06.2015, 21:18 | Сообщение # 2 |
*классный титул*
Группа: Администраторы
Сообщений: 1335
Награды: 2
Репутация: 187
Статус: Offline
| MrXolmC, исходник в студию. А вообще, div тебе в помощь.
ты никогда не станешь просто девочкой из песни.
|
|
| |
BRESS | Дата: Четверг, 02.07.2015, 15:32 | Сообщение # 3 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| А при чем тут исходник? )) Человек спрашивает, как реализовать такое движение. Плюс даже я не понял, как ты собрался использовать div. Просветил бы хоть.
По теме. Насколько я знаю, mp_grid тут не поможет. А так как я в математике не силен, придется всё делать на костыликах. При старте движения запоминаешь координаты игрока и помаленьку изменяешь его положение в пространстве при помощи hspeed и vspeed. Как только игрок отклонится от начальной точки на определенное расстояние, останавливаешь движение. Вот пример: http://rghost.ru/7x6fLpy6X
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
GoodWin | Дата: Четверг, 02.07.2015, 17:04 | Сообщение # 4 |
Бывалый
Группа: Постоянный
Сообщений: 473
Награды: 1
Репутация: 80
Статус: Offline
| При создании задай ему 4 координаты - точки (относительно ГГ) к которым нужно двигаться (верх, низ, право, лево) при нажатии нужной клавиши двигай его в соответствующую точку и как только он переместился в нее, задавай новые 4.
Кому нужны саундтреки для ваших игр, обращайтесь..
Сообщение отредактировал GoodWin - Четверг, 02.07.2015, 17:05 |
|
| |
Gracio001 | Дата: Четверг, 02.07.2015, 21:55 | Сообщение # 5 |
*классный титул*
Группа: Администраторы
Сообщений: 1335
Награды: 2
Репутация: 187
Статус: Offline
| Цитата BRESS ( ) Плюс даже я не понял, как ты собрался использовать div. Просветил бы хоть. Типа этого:
Код if x div (16 div 2)) mod 2 = 0 { xh = (x div (16 div 2)) * (16 div 2); } else { xh = (x div (16 div 2) +1) * (16 div 2); }
//
if y div (16 div 2)) mod 2 = 0 { yh = (y div (16 div 2)) * (16 div 2); } else { yh = (y div (16 div 2) +1) * (16 div 2); }
ты никогда не станешь просто девочкой из песни.
|
|
| |
BRESS | Дата: Пятница, 03.07.2015, 12:00 | Сообщение # 6 |
Мастер-ломастер
Группа: Администраторы
Сообщений: 3120
Награды: 1
Репутация: 224
Статус: Offline
| Насколько я понимаю, этот код выравнивает положение объекта по сетке и никакого отношения к изометрии не имеет. В общем, объясняй свой алгоритм: моя твоя не понимать.
Цитата GoodWin ( ) При создании задай ему 4 координаты - точки (относительно ГГ) к которым нужно двигаться (верх, низ, право, лево) при нажатии нужной клавиши двигай его в соответствующую точку и как только он переместился в нее, задавай новые 4. Тоже хороший вариант.
Для ваших вопросов по Game Maker есть специально созданный форум. Оставьте в покое мою личку. Спасибо за внимание!
|
|
| |
Gracio001 | Дата: Пятница, 03.07.2015, 13:22 | Сообщение # 7 |
*классный титул*
Группа: Администраторы
Сообщений: 1335
Награды: 2
Репутация: 187
Статус: Offline
| Цитата BRESS ( ) Насколько я понимаю, этот код выравнивает положение объекта по сетке и никакого отношения к изометрии не имеет. Совершенно верно. Просто голова болела и вообще про изометрию просмотрел.
ты никогда не станешь просто девочкой из песни.
|
|
| |