Альтернатива поведению Grid Movement в C2

исходники и примеры в формате .capx

Альтернатива поведению Grid Movement в C2

Сообщение Developer » 14 янв 2013, 04:57

Grid Movement (без препятствий)

 ">>>"
Изображение

Мне все же удалось создать, возможно, самый простой вариант поведения Grid Movement в Construct 2, состоящий всего из 12 событий.

Исходник (строго 4 направления как в первом Construct):
my Grid Movement (4 Direction) fix.capx
(5.23 КБ) Скачиваний: 765

Еще один вариант, где объект может перемещаться по сетке в 8-ми направлениях.

Исходник (8 направлений):
my Grid Movement (8 Direction) fix.capx
(5.22 КБ) Скачиваний: 569

Grid Movement (с препятствиями)

 ">>>"
Изображение


Столкновение с объектами происходит за счет специальных маркеров, которые блокируют нажатие клавиш. Если найдете способ проще то выложите исходник сюда.

Исходник (строго 4 направления + столкновение с объектами):
my Grid Movement (4 Direction + Solid).capx
(8.58 КБ) Скачиваний: 898

Grid Movement (управление мышью)

 ">>>"
Изображение


Сама схема управления Grid Movement почти не изменилась, просто вместо клавиатуры была добавлена переменная, которая имитирует нажатие клавиш (Right, Left, Down, Up). А вот меняет эту переменную целая группа событий, с которой мне пришлось повозится.

Исходник:
my Grid Movement (4 Direction + Mouse).capx
(6.65 КБ) Скачиваний: 662

Конечно, события можно оптимизировать подключив напрямую мышку с движением спрайта (move at angle), но мне в данном случае показалось, что так проще сделать, чем переделывать все заново.

Grid Movement (управление мышью + препятствия)

 ">>>"
Изображение


Добавлены маркеры для расчета столкновений с препятствиями.

Исходник:
my Grid Movement (4 Direction + Mouse + Solid).capx
(9.37 КБ) Скачиваний: 1073

К сожалению, но систему обхода препятствий мне пока не удалось реализовать. Если кто сможет сделать выложите исходник.


Большое спасибо всем кто помогал с примерами. Если найдете ошибки пишите, буду фиксить. :smile:
Последний раз редактировалось Developer 16 янв 2013, 04:23, всего редактировалось 8 раз(а).
Аватара пользователя
Developer
Игродел
Игродел
 
Сообщения: 501
Зарегистрирован: 04 янв 2013

Re: Альтернатива поведению Grid Movement в C2

Сообщение Zaksoid » 14 янв 2013, 09:14

Хороший пример. Еще бы управление с помощью мыши и, да, с алгоритмом нахождения пути.
Изображение
Аватара пользователя
Zaksoid
Игродел
Игродел
 
Сообщения: 1224
Зарегистрирован: 14 сен 2012
Откуда: Красноярск

Re: Альтернатива поведению Grid Movement в C2

Сообщение Developer » 14 янв 2013, 14:44

Zaksoid писал(а):Еще бы управление с помощью мыши и, да, с алгоритмом нахождения пути.

Хорошая идея. Сделаю, если получится. :smile:
Аватара пользователя
Developer
Игродел
Игродел
 
Сообщения: 501
Зарегистрирован: 04 янв 2013

Re: Альтернатива поведению Grid Movement в C2

Сообщение C2 » 14 янв 2013, 16:11

На данный момент пока лучшее решение. +
Аватара пользователя
C2
Участник
Участник
 
Сообщения: 4
Зарегистрирован: 04 янв 2013

Re: Альтернатива поведению Grid Movement в C2

Сообщение Developer » 14 янв 2013, 16:34

C2 писал(а):На данный момент пока лучшее решение. +

Спасибо. Но, я нашел ошибку, которая возникает, когда спрайт подъезжает к краям экрана. Чтобы ее устранить пришлось добавить еще 2 события:

Изображение

Таким образом общее количество событий было увеличено до 12. Также я добавил текстовый объект, который выводит координаты на экран (13-ое событие).

В первый пост добавил Grid Movement с препятствиями:

Изображение

К моему удивлению, количество событий не увеличилось. Просто были добавлены маркеры и под-условия. Качайте! :smile:
Аватара пользователя
Developer
Игродел
Игродел
 
Сообщения: 501
Зарегистрирован: 04 янв 2013

Re: Альтернатива поведению Grid Movement в C2

Сообщение Sailer » 14 янв 2013, 19:40

Developer писал(а):добавил Grid Movement с препятствиями

зачет!! :good2:
Аватара пользователя
Sailer
Администратор
Администратор
 
Сообщения: 7330
Зарегистрирован: 05 сен 2012

Re: Альтернатива поведению Grid Movement в C2

Сообщение Ilyko96 » 14 янв 2013, 21:38

:good: Отличное решение, пожалуй, действительно самый простой по своей сути пример "сеточного движения" на C2. + :biggrin:

Что касаемо оптимизации, то можно сделать на одно событие меньше:
 Было
Изображение

 Стало
Изображение


Еще, кстати, я пробовал заменить стандартную схему с четырьмя индикаторами на события "overlaps at offset" (все-таки это целых 4 объекта), но ничего толкового не получилось :cray:
Аватара пользователя
Ilyko96
Игродел
Игродел
 
Сообщения: 398
Зарегистрирован: 08 янв 2013
Откуда: Мск

Re: Альтернатива поведению Grid Movement в C2

Сообщение C2 » 14 янв 2013, 21:55

Этот пример сделан по примеру с сайта scirra.com, так вот при малом fps Sprite проскакивает стены, я думаю нужно как то избавляться от "детекторов".
Аватара пользователя
C2
Участник
Участник
 
Сообщения: 4
Зарегистрирован: 04 янв 2013

Re: Альтернатива поведению Grid Movement в C2

Сообщение Developer » 14 янв 2013, 22:43

Ilyko96 писал(а):Что касаемо оптимизации, то можно сделать на одно событие меньше:

 Стало
Изображение

Увы, я так делал, но после этого объединения, что-то происходит в событиях и теперь при одновременном нажатии двух стрелок (например, вверх и вправо) спрайт начинает ездить по диагонали. Скорее всего такая оптимизация подойдет только тем, кто изначально хочет сделать Grid Movement в 8 направлениях.

Ilyko96 писал(а):Еще, кстати, я пробовал заменить стандартную схему с четырьмя индикаторами на события "overlaps at offset" (все-таки это целых 4 объекта), но ничего толкового не получилось :cray:

Тоже пытался, но увы. Проще этого не смог придумать.

C2 писал(а):Этот пример сделан по примеру с сайта scirra.com, так вот при малом fps Sprite проскакивает стены, я думаю нужно как то избавляться от "детекторов".

Хотелось бы.
Аватара пользователя
Developer
Игродел
Игродел
 
Сообщения: 501
Зарегистрирован: 04 янв 2013

Re: Альтернатива поведению Grid Movement в C2

Сообщение Developer » 15 янв 2013, 00:08

Обновлен первый пост. Добавлен Grid Movement (управление мышью).

Изображение

В планах: Grid Movement (управление мышью) с добавлением Solid объектов.
Аватара пользователя
Developer
Игродел
Игродел
 
Сообщения: 501
Зарегистрирован: 04 янв 2013

След.

Вернуться в Исходники и Примеры для Construct 2

Пользователи онлайн

Зарегистрированные пользователи: нет зарегистрированных пользователей

cron