Вопрос по передвижению персонажа
|
|
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, твой код мягко говоря очень упрощенный, и приведет к тому что объект будет дергаться в позиции курсора
Вообще, движение объекта в точку мыши как таковое реализовать очень просто, но в нем одном нет смысла, и это самое движение может иметь много нюансов - попутное взаимодействие с другими объектами, выделение и снятие выделения с объекта, и многое другое. Потому делать его отдельно от окружающих систем - бессмысленно
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 ):
|
|
| |
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
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, спасибо! Вот это мне и было нужно
|
|
| |
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, бреда больше не надо.
|
|
| |