Как создать персонажа TDS
|
|
AtlanTis | Дата: Воскресенье, 08 Января 2012, 15:32 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Как создать персонажа в TDS, чтобы он поварачивался в сторону мышки и ходил на WASD?
"Иногда надо имитировать крушение корабля, чтобы с него сбежали крысы." (с)
|
|
| |
poks | Дата: Воскресенье, 08 Января 2012, 15:36 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| Создавай объект персонажа (например obj_player), создавай событие Step и пиши
Code image_angle = point_direction(x,y,mouse_x,mouse_y) if keyboard_check(ord('W')) {y -= 5} if keyboard_check(ord('S')) {y += 5} if keyboard_check(ord('A')) {x -= 5} if keyboard_check(ord('D')) {x += 5}
Только спрайт героя центрируй, иначе он криво будет ходить
|
|
| |
AtlanTis | Дата: Воскресенье, 08 Января 2012, 15:42 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Quote (poks) Только спрайт героя центрируй, иначе он криво будет ходить
Что значит центрируй? Я просто нуб в этом деле
"Иногда надо имитировать крушение корабля, чтобы с него сбежали крысы." (с)
|
|
| |
poks | Дата: Воскресенье, 08 Января 2012, 15:49 | Сообщение # 4 |
почетный гость
Сейчас нет на сайте
| Quote (AtlanTis) Только спрайт героя центрируй, иначе он криво будет ходить
Жми ПКМ по Sprite --> Create Sprite. Внизу, над "ОК" будет кнопка "по центру", кликай на нее и сохраняй.Добавлено (08.01.2012, 15:49) --------------------------------------------- А вообще, посмотри уроки по Game Maker. Так тебе будет понятней
|
|
| |
Endess | Дата: Воскресенье, 08 Января 2012, 19:44 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Я не понял, как создать стены? Создал объект, сделал его твердым, ставлю на карту, а игрок проходит сквозь него Что делать???
Люблю Sandbox
|
|
| |
poks | Дата: Воскресенье, 08 Января 2012, 19:48 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Quote (Endess) Я не понял, как создать стены? Создал объект, сделал его твердым, ставлю на карту, а игрок проходит сквозь него Что делать???
facepalm
Научись юзать гугл и найди уроки по созданию TDS игр, это намного упростит дело. А вообще, в объекте персонажа надо создать столкновение со стеной и прописать
Code x = xprevious y = yprevious
|
|
| |
Endess | Дата: Воскресенье, 08 Января 2012, 20:03 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| poks, спасибо, уже который раз меня выручаешь!
Люблю Sandbox
|
|
| |
FadeBaker | Дата: Понедельник, 09 Января 2012, 20:15 | Сообщение # 8 |
JavaSE Game Developer
Сейчас нет на сайте
| Code if keyboard_check(ord('W')) && place_free(x, y-5) {y -= 5} if keyboard_check(ord('S')) && place_free(x, y+5) {y += 5} if keyboard_check(ord('A')) && place_free(x-5, y) {x -= 5} if keyboard_check(ord('D')) && place_free(x+5, y) {x += 5} И не нужно никаких (x = xprevious y = yprevious), затормаживающие движение.
Уроки по GM Minecraft 2D на GM — Мои проекты — Blood Harvest [2D] — Original Blood Harvest [2D]: Remastered Edition Adventure Craft [2D] — Sandbox Space Shock [2D] — Scroll Shooter Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
|
|
| |
Gavolot | Дата: Среда, 11 Января 2012, 23:26 | Сообщение # 9 |
Последователь Тени
Сейчас нет на сайте
| можно еще так, так перс будет сталкиваться как-бы скользя не много по стене, вообщем так будет гладко и огромный минимум лагов: Где-то видел уже подобный код, писал по своему)) Там лагов было больше. Code var ct; ct = 0; var a,xoff,yoff; a = point_direction( x,y,other.x,other.y) xoff = lengthdir_x( .2,a); yoff = lengthdir_y( .2,a); while( place_meeting( x,y,other.id) and ct < 100) { other.x += xoff; other.y+=yoff; ct +=1; } Просто втыкаешь в систему столкновения стены с ГГ. Если хочешь можно даже себе и нпк такую сделать, если хочешь чтобы ты всех талкал а тебя нет, то только себе с другими обьектами и т.п.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
Сообщение отредактировал Gavolot - Среда, 11 Января 2012, 23:27 |
|
| |