Перетаскивание ОДНОЙ копии объекта

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Перетаскивание ОДНОЙ копии объекта

Страницы: 1 2 Next>> новая тема

Автор Сообщение

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 18-11-2006 00:59
Привет! У меня вопросик есть. Делаю игру, где нудно перетаскивать объекты ( вот файлик: http://wist.ucoz.ru/drag.gm6 (435 кб)). Сделал, но когда я хватаю курсором грушу (пока только грушу), все остальные груши тоже двигаются в сторону курсора. А нужно чтобы каждый по отдельности. Поможите, чем можите. Если можно, примерчиком, чтоб наглядно было. И по возможности кнопками.

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 18-11-2006 04:40
Ctrl удерживай, когда перетаскиваешь...

гроссмейстер
Группа: Сообщество GM
Сообщений: 273
Добавлено: 18-11-2006 14:04
to: NKA
- Оригинально.

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 18-11-2006 16:04
Ctrl удерживай, когда перетаскиваешь...

В игре, а не в программе!

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 18-11-2006 18:09
а... ща скачаю исходник, помогу

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 21-11-2006 18:57
Ctrl удерживай, когда перетаскиваешь...


бывалый
Группа: Участники
Сообщений: 32
Добавлено: 27-11-2006 15:10
Может что-то по делу будет?

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 27-11-2006 15:19
idd=instance_nearest(mouse_x,mouse_y,grusha)
with(idd)
{
x=mouse_x
y=mouse_y
}

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 28-11-2006 09:48
Эмм... А это куда ставить, спросить можно? В степ? Если да, то в какой объект? Спасибо.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 28-11-2006 12:44
в grushy ставить

Create Event:
execute code:

global.idd = 0
mouseyes = 0


Step Event:
execute code:

if(mouseyes = 1)
with( global.idd)
{
x=mouse_x
y=mouse_y
}


Mouse Event for Left Pressed:
execute code:

global.idd=instance_nearest(mouse_x,mouse_y,grusha)
mouseyes = 1

Mouse Event for Glob Left Released:
execute code:

mouseyes = 0
global.idd=0 //это для хорошего тона программирования // но это необязательно

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 30-11-2006 22:03
Почему-то твой код работает таже неправильно. Вот что я сделал:

http://wist.ucoz.ru/ex.gm6 (15,7 КБ)

Может что не так у меня. Посмотрите, пожалуйста!

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 01-12-2006 19:13
во-первых удали object7 он в событии нажатия мыши притягивает все груши

и внимательней Mouse Event for Glob Left Released: а у тебя нажатия мыши

и все что идет после // этого и подсвечивается зеленым цветом
копирывать необязательно это коментарии

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 01-12-2006 22:35
mouseyes
причем здесь глаза мыши? :)

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 03-12-2006 17:43
Спасибо! Но теперь у меня другая проблема, прям не знаю что делать! Хотя она не совсем проблема... В общем,сделал все три фрукта, только вот когда я хватаю фрукт, он некоторое время держится курсором, а потом снова едет вниз!

Вот файл:

http://wist.ucoz.ru/ex1.gm6 (12,9 КБ)

мастер
Группа: Сообщество GM
Сообщений: 111
Добавлено: 04-12-2006 02:05
У тебя когда создаёться какой-то фрукт, он сбрасывает держание курсора.
global.idd = 0;

помести например в control_gen_fruit, а из остальных фруктов в Create удали. Будет всё норм.

бывалый
Группа: Участники
Сообщений: 32
Добавлено: 04-12-2006 15:27
Тоесть нужно событие Create из всех фруктов удалить, а создать этот же код в Create объекта control_gen_fruit ? Я правильно понял?

гроссмейстер
Группа: Сообщество GM
Сообщений: 130
Добавлено: 04-12-2006 15:53
Кстати имхо перетаскивание это можно кординально упростить. У меня счас нету времени это сделать, но в случае чего--пример я разместил в топике с примерами в посте "Простой выбор юнитов" или что-то в этом духе. Там в моём примере тока добавить в степ что-то типа
if (selected==1) {x=mouse_x;y=mouse_y;}
и всё.
Удачи!

мастер
Группа: Сообщество GM
Сообщений: 111
Добавлено: 04-12-2006 17:53
Wadimmm,Да. Ты правильно понял. И ещё, можешь упрощать,как посоветовал Xelat, но будь готов усовершенствовать свой код,если нужно будет. Старайся программировать шире, чтоб не было как у тя с фруктами, с одним работает, а с 2 и более нет.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 04-12-2006 19:15
причем здесь глаза мыши? :)

mouse yes :-)

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 04-12-2006 21:15
Запарили Завтра утром пример сделаю.

Страницы: 1 2 Next>> новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Начинающих) / Перетаскивание ОДНОЙ копии объекта

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU