Воскресенье, 22 Декабря 2024, 13:21

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Вопрос по передвижению персонажа
KaramBinoДата: Понедельник, 09 Июня 2014, 14:02 | Сообщение # 21
Karam Грозный
Сейчас нет на сайте
SpeRdKeaR, спасибо за знания.

GMHelpДата: Понедельник, 09 Июня 2014, 18:51 | Сообщение # 22
почетный гость
Сейчас нет на сайте
1) KaramBino, ересь везде тут пишет, которая наводит на правильное , но не даёт точного ответа.
В итоге этот человек получил свой плюс за неправильный пример и за уговоры. Вообще, чтобы не было вопросов надо сначала читать справку....но последний вопрос окончательно убил меня. Господин hamster98, читайте справочку.
2) Для платформера сделать передвижение гораздо проще.
в глобальное нажатие мыши:
Код
if(x<mouse_x){x+=2;}
if(x>mouse_x){x-=2;}

самое короткое, что я мог придумать


Всё что я сказал может показаться обидно , но это только кажется так, ибо мнение моё и оно может поменяться.
XDominatorДата: Вторник, 10 Июня 2014, 10:46 | Сообщение # 23
постоянный участник
Сейчас нет на сайте
GMHelp, твой код мягко говоря очень упрощенный, и приведет к тому что объект будет дергаться в позиции курсора smile

Вообще, движение объекта в точку мыши как таковое реализовать очень просто, но в нем одном нет смысла, и это самое движение может иметь много нюансов - попутное взаимодействие с другими объектами, выделение и снятие выделения с объекта, и многое другое. Потому делать его отдельно от окружающих систем - бессмысленно


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
KaramBinoДата: Вторник, 10 Июня 2014, 11:05 | Сообщение # 24
Karam Грозный
Сейчас нет на сайте
GMHelp, а почему же ересь.

SpeRdKeaRДата: Вторник, 10 Июня 2014, 12:39 | Сообщение # 25
KillerReborn
Сейчас нет на сайте
Цитата KaramBino ()
GMHelp, а почему же ересь.

Потому, что ересь. Помогают людям не за репутацию, а просто так. Если будешь просить плюсы за помощь - в минус улетишь.


А звезды, будто мириады стрел,
Ловя на мушку силуэты снов.
Смеется и злорадствует любовь,
И мы с тобой попали в их прицел...
KaramBinoДата: Вторник, 10 Июня 2014, 13:41 | Сообщение # 26
Karam Грозный
Сейчас нет на сайте
SpeRdKeaR, да. Только репутацию исправил. И неохото её терять.

hamster98Дата: Вторник, 10 Июня 2014, 14:38 | Сообщение # 27
участник
Сейчас нет на сайте
SpeRdKeaR, Спасибо! Я забыл как-то про это все, видимо, давно с ГМ не работал...

Добавлено (10.06.2014, 14:38)
---------------------------------------------
Пожалуй, лучше сделаю обычное управление(влево-вправо). Ибо так проще. Или это я чего-то не понимаю.

FоzzieДата: Вторник, 10 Июня 2014, 19:28 | Сообщение # 28
Король Гопов
Сейчас нет на сайте
hamster98, что конкретно нужно?)

hamster98Дата: Среда, 11 Июня 2014, 10:47 | Сообщение # 29
участник
Сейчас нет на сайте
Fоzzie, Конкретно нужно примерно это(designed by Paint smile ):
HaGeДата: Среда, 11 Июня 2014, 10:57 | Сообщение # 30
постоянный участник
Сейчас нет на сайте
hamster98, ну тебе же уже писали как реализовать. неужели додумать алгоритм так сложно?
http://rghost.ru/56305991


Сообщение отредактировал HaGe - Среда, 11 Июня 2014, 11:08
FarcuatДата: Среда, 11 Июня 2014, 11:01 | Сообщение # 31
частый гость
Сейчас нет на сайте
hamster98,

move_towards_point(mouse_x, mouse_y) во время клика.
Вместо mouse_y можно жестко указать высоту.
OverdraveДата: Среда, 11 Июня 2014, 11:03 | Сообщение # 32
частый гость
Сейчас нет на сайте
Ну, способов много, надо учитывать множество других действий. Если это платформер, то управление должно быть совершенно другое (как уже было сказано - на стрелочках/WASD). Если под платформером вы имели в виду обычную бродилку, де не надо прыгать, то всё можно сделать по тому же принципу, что и в курсор в стратегиях:

(((Сразу предупрежу, что я работаю в ГМС, потому, если вы используете иную версию, код может не подойти)))
1)Создаём объект goto_cursor
2)В Global Left Pressed у ПЕРСОНАЖА пишем
Код
with(goto_cursor) instance_destroy() //Удаляется курсор, к которому должен направлять персонаж
instance_create(mouse_x,mouse_y,goto_cursor //Создаёт объект-курсор, к которому должен двигаться персонаж


3)В Step персонажу пишем
Код
if instance_number(goto_cursor)>0
{
if x<goto_cursor.x
hspeed=4
if x>goto_cursor.x
hspeed=-4
if distance_to_object(goto_cursor)<=hspeed    
{
hspeed=0
}
if hspeed=0
with(goto_cursor)
instance_destroy()
}


Замечу, что сам пока этот код не испытывал. А, ну и ещё момент - тут только передвижение по Х, так что он действительно не подойдёт, если надо будет прыгать/лазать по лестницам.


Сообщение отредактировал Overdrave - Среда, 11 Июня 2014, 11:15
HaGeДата: Среда, 11 Июня 2014, 11:10 | Сообщение # 33
постоянный участник
Сейчас нет на сайте
Overdrave, алгоритм норм, но с кодом перемудрил. у меня вышло гораздо проще при том, что логика та же =3

create
Код
endx=x;


step
Код
if distance_to_point(endx,y)>3 {
     if endx<x x-=3 else {
        if endx>x x+=3;
     }
}


mouse left
Код
if !collision_line(x,y,mouse_x,y,o_wall,1,1) {
     endx=mouse_x;
}
OverdraveДата: Среда, 11 Июня 2014, 11:16 | Сообщение # 34
частый гость
Сейчас нет на сайте
HaGe,
Просто я не люблю через изменение координат делать. Только скорости! Через координаты, как по мне, можно делать лишь движение по графику.
А, кстати, в своём коде забыл ещё кое-что учесть, сейчас подправлю...
hamster98Дата: Среда, 11 Июня 2014, 11:23 | Сообщение # 35
участник
Сейчас нет на сайте
HaGe, спасибо!
Вот это мне и было нужно smile
KaramBinoДата: Среда, 11 Июня 2014, 11:40 | Сообщение # 36
Karam Грозный
Сейчас нет на сайте
hamster98, тебе больше ничего не надо?

hamster98Дата: Среда, 11 Июня 2014, 11:52 | Сообщение # 37
участник
Сейчас нет на сайте
KaramBino, не, спасибо.
KaramBinoДата: Среда, 11 Июня 2014, 13:06 | Сообщение # 38
Karam Грозный
Сейчас нет на сайте
hamster98, жалко.

hamster98Дата: Четверг, 12 Июня 2014, 09:34 | Сообщение # 39
участник
Сейчас нет на сайте
KaramBino, бреда больше не надо.
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг