Понедельник, 04 Ноября 2024, 23:30

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите, срочно! Как мне сделать перетаскивание мышкой(gm8)
9999in1Дата: Среда, 17 Января 2024, 15:42 | Сообщение # 1
был не раз
Сейчас нет на сайте
Я сегодня научился делать перетаскивание объектов мышкой, но когда я ставлю несколько объектов они обо перетаскиваются, Если что я создаю игру где можно из объектов строить, она для детей. И ещё она создаётся на game maker 8.0 pro!!!

Сообщение отредактировал 9999in1 - Среда, 17 Января 2024, 15:43
JackNazaryanДата: Среда, 17 Января 2024, 16:15 | Сообщение # 2
старожил
Сейчас нет на сайте
Для начала покажите, как сделали перетаскивание сейчас. Тогда можно будет понять, что не так. Экстрасенсы на форуме, к сожалению, закончились :(
9999in1Дата: Среда, 17 Января 2024, 16:32 | Сообщение # 3
был не раз
Сейчас нет на сайте
JackNazaryan, в глобальных левой кнопкой мыши x=mouse_x
y=mouse_y
AlexanderBekkerДата: Среда, 17 Января 2024, 20:20 | Сообщение # 4
BekkerDev Studio
Сейчас нет на сайте
Создайте объект objControl и поместите его в комнату. Пропишите ему в Create:
Код
draggedObj = -1;

Затем в Step:
Код
if (!mouse_check_button(mb_left)) draggedObj = -1;
if (draggedObj != -1) {
   draggedObj.x = mouse_x;
   draggedObj.y = mouse_y;
}

Теперь открываете объект, который можно перетаскивать, и в событии нажатия левой кнопки мыши (не глобальном!) пишете:
Код
if (objControl.draggedObj == -1) objControl.draggedObj = self;


Первое, что пришло на ум.


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio


Сообщение отредактировал AlexanderBekker - Среда, 17 Января 2024, 20:21
9999in1Дата: Среда, 17 Января 2024, 22:14 | Сообщение # 5
был не раз
Сейчас нет на сайте
AlexanderBekker, Блин, всё сделал, но не роботает!

Сообщение отредактировал 9999in1 - Среда, 17 Января 2024, 22:45
mihailshДата: Воскресенье, 21 Января 2024, 22:33 | Сообщение # 6
был не раз
Сейчас нет на сайте
Цитата 9999in1 ()
AlexanderBekker, Блин, всё сделал, но не роботает!


drag.gmk
на 8.0 lite сделано


Сообщение отредактировал mihailsh - Воскресенье, 21 Января 2024, 22:34
MagicHeroДата: Понедельник, 22 Января 2024, 01:57 | Сообщение # 7
участник
Сейчас нет на сайте
У вас же обьекты имеют разную глубину depth чтобы они рисовались друг над другом? Если так топри клике в нужном месте хоть 100 таких обьектов то выбирайте и перемещайте тот у которого меньше глубина depth т.е. тот что ближе к экрану и следовательно наверху отображается. Либо каждому обьекту при создании присваивать номер по возрастающей и у кого из выбранных обьектов он выше, тот и перетаскиваем.
mihailshДата: Понедельник, 22 Января 2024, 16:24 | Сообщение # 8
был не раз
Сейчас нет на сайте
Цитата 9999in1 ()
AlexanderBekker, Блин, всё сделал, но не роботает!


drag2.gmk

вот еще вариант с учетом depth.
drag controller работает по родителю - там можно заменить. если объектов несколько на точке - берёт тот у кого меньше depth.
gm8 довольно специфичный. в gms2 некоторые вещи стали другими. особенно нюансы с self и other.
9999in1Дата: Суббота, 27 Января 2024, 12:51 | Сообщение # 9
был не раз
Сейчас нет на сайте
mihailsh, Ты мастер, второй пример я не скачивал ещё, но первый то-что надо!
  • Страница 1 из 1
  • 1
Поиск:

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