Положение объекта
|
|
Serg | Дата: Воскресенье, 18 Января 2009, 16:11 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Как сделать такую вещь,допустим есть четыре линии,каждая из них перемещается мышкой и если из этих линий собрать квадрат например,то будет выполено определённое действие,т.е. мне нужно чтобы объекты можно было двигать и собирать из них определённые вещи.
|
|
| |
dronet | Дата: Воскресенье, 18 Января 2009, 16:38 | Сообщение # 2 |
Любопытный
Группа: Проверенные
Сообщений: 38
Репутация: 0
Награды: 0
Статус: Offline
| Примерчик можеш скинуть? Может смогу помочь
Andress
|
|
| |
toizy | Дата: Воскресенье, 18 Января 2009, 18:03 | Сообщение # 3 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Двигать объекты мышью, думаю, умеешь. Вот при движений просто запоминаешь текущие координаты в спец переменные и по условию выполняешь действие. Чтобы узнать, собран ли именно квадрат, нужно сравнивать координаты окончаний линий, у соседних одна из двух точек должна совпадать по координатам. Ну в общем объяснил как смог, идея есть. С реализацией помогут :-)
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 18:20 | Сообщение # 4 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Примерчек, да просто есть четыре линии например по 10 см.Мне просто хочу понять как делать если координаты нужные совпадают то действия нужные происходят
|
|
| |
toizy | Дата: Воскресенье, 18 Января 2009, 19:06 | Сообщение # 5 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Да очень просто. Ты сделал перемещение линий мышью? Вот в том сценарии, в котором ты перемещаешь линии, просто впиши условие. Блин, без ммв я не могу обьяснить это, надеюсь, ребята состряпают пример тебе.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 19:24 | Сообщение # 6 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Вот примерный проект.Вот только не знаю как сделать ещё и функцию поворота линий,чтобы квадрат например сделать
|
|
| |
DEMBEL | Дата: Воскресенье, 18 Января 2009, 19:50 | Сообщение # 7 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Quote (adamfromvyazniki) Вот только не знаю как сделать ещё и функцию поворота линий Да точно также, сделай на концах линий hotspot-ы и таскай их вместе с линией - при щелчке на hotspot будет запускаться скрипт поворота. А вот с расчетом координат при произвольном повороте - будет нешуточное дело, скажу я тебе... Вспоминай геометрию и тригонометрию... Хотя можно проще - при щелчке (или чего там у тебя) на hotspot линия будет поворачивать сразу на 90 градусов (т.е. становиться горизонтальной - это рассчитать просто, тебе ж всего-то квадрат нужен)...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение отредактировал DEMBEL - Воскресенье, 18 Января 2009, 19:55 |
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 20:01 | Сообщение # 8 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| да,лучше сразу по 90 градусов,а как быть с координатами?Поможеш примером
|
|
| |
DEMBEL | Дата: Воскресенье, 18 Января 2009, 20:03 | Сообщение # 9 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| Блин, ну ладно, подожди сейчас я сам посчитаю...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 20:10 | Сообщение # 10 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Хорошо,жду,спасибо
|
|
| |
DEMBEL | Дата: Воскресенье, 18 Января 2009, 20:22 | Сообщение # 11 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| нее, что-то я загнул лишнего - командой moveobject нельзя же менять ориентацию обьекта - можно только двигать по плоскости. Придется тебе рисовать заранее спрятанные горизонтальные линии и при щелчке на hotspot показывать их, ну а с этим я думаю ты справишься. А у меня просто больная фантазия разыгралась...
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение отредактировал DEMBEL - Воскресенье, 18 Января 2009, 20:26 |
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 20:32 | Сообщение # 12 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| да фиг с ним с разворотом,как сделать с координатами
|
|
| |
DEMBEL | Дата: Воскресенье, 18 Января 2009, 20:34 | Сообщение # 13 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| примерно так Добавлено (18 Январь 2009, 20:34) --------------------------------------------- Quote (adamfromvyazniki) как сделать с координатами а что с координатами? нельзя с moveobject вращать обьекты, не получится... Quote (DEMBEL) рисовать заранее спрятанные горизонтальные линии пока только так придумал. только разумеется это уже будет другая линия.
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение отредактировал DEMBEL - Воскресенье, 18 Января 2009, 20:35 |
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 20:42 | Сообщение # 14 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Да например две линии будут горизонтальные а две вертикальные,как сделать квадрат и чтобы действие происходило
|
|
| |
basme | Дата: Воскресенье, 18 Января 2009, 22:35 | Сообщение # 15 |
MMB Club
Группа: Проверенные
Сообщений: 358
Репутация: 5
Награды: 2
Статус: Offline
| Если хочешь сделать так, чтобы можно было вращать линии, вместо объекта Line помещай Bitmap. Его можно вращать командами RotateImageTo или RotateImageRel на любой произвольный угол. Координаты начала и конца битмапа, повёрнутого на любой угол, вычислить можно элементарно: Левый верхний угол: ObjectX,ObjectY Правый верхний угол: ObjectX+ObjectWidth,ObjectY Левый нижний угол: ObjectX,ObjectY+ObjectHeight Правый нижний угол: ObjectX+ObjectWidth,ObjectY+ObjectHeight Остаётся только понять, в каком конкретно углу начинается и в каком заканчивается линия, а это можно сделать исходя из угла поворота битмапа, его обозначающего. Если непонятно, спрашивай, объясню подробно.
|
|
| |
Serg | Дата: Воскресенье, 18 Января 2009, 23:41 | Сообщение # 16 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| если можно то примерчик,только ещё ведь надо чтобы при достижении определённых координат происходили действия
|
|
| |
usermmbuild | Дата: Понедельник, 19 Января 2009, 12:06 | Сообщение # 17 |
Любопытный
Группа: Проверенные
Сообщений: 48
Репутация: 0
Награды: 0
Статус: Offline
| Вот примерчег: 76000.mbd(10.7kb) Берём и соединяем начала. ! Работает с точностью пиксель в пиксель.
|
|
| |
Serg | Дата: Понедельник, 19 Января 2009, 13:17 | Сообщение # 18 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Вот что я сделать хочу(пример) Добавлено (19 Январь 2009, 13:17) --------------------------------------------- usermmbuild,спасибо за пример,но что то я не понял
|
|
| |
usermmbuild | Дата: Понедельник, 19 Января 2009, 13:33 | Сообщение # 19 |
Любопытный
Группа: Проверенные
Сообщений: 48
Репутация: 0
Награды: 0
Статус: Offline
| Видно я тоже, мне стало белее понятно после того что ты хочешь собрать цепь
|
|
| |
toizy | Дата: Понедельник, 19 Января 2009, 13:43 | Сообщение # 20 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Опять заранее спрятанные объекты. Видно, разработчики зря старались с новой версией, если эти новые фишки никто не использует :-) Я так, я ничо...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Четверг, 22 Января 2009, 16:16 | Сообщение # 21 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Вот как так сделать Добавлено (19 Январь 2009, 14:12) --------------------------------------------- toizy, а как сделать иначе Добавлено (22 Январь 2009, 16:16) --------------------------------------------- Подскажите поподробнее какк сделать
|
|
| |
toizy | Дата: Четверг, 22 Января 2009, 17:56 | Сообщение # 22 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Я это насчёт того что не надо прятать, а создавать в рантайме... Добавлено (22 Январь 2009, 17:42) --------------------------------------------- Можешь задать положение какое тебе удобно. Добавлено (22 Январь 2009, 17:56) --------------------------------------------- Т.е. щелчок мышью - старый объект убиваешь - новый сохдаёшь на новом месте. Для юзера это один и тот же объект, который перемещается
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Alex3A | Дата: Пятница, 23 Января 2009, 04:02 | Сообщение # 23 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Зачем все так сложно, Quote (basme) вместо объекта Line помещай Bitmap basme, правильно говорит, все равно это только лиш изображение. Quote (toizy) Я это насчёт того что не надо прятать, а создавать в рантайме... Рантайм это очень полезные функции, но не все с ним создаеться, остальное можно и спрятать, но для решения поставленной задачи, применять их все равно что стрелять по воробьям. Нет что бы кто показал проект с настоящим динамическим сценарием, вот там бы и рантайм сгодился.
|
|
| |
toizy | Дата: Пятница, 23 Января 2009, 10:40 | Сообщение # 24 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| имхо, это и есть случай с использованием рантайм. Ведь, я так понял, ему нужно схемы чертить? Значит, линий может быть множество, всех не спрячешь. Хотя может я не так понял? Однажды, ещё по просьбе as-master, я делал проект с динамическим созданием. получалось неплохо. Очень неплохо.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Пятница, 23 Января 2009, 12:12 | Сообщение # 25 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Да мне нужно понять с координатами,если линии соединяеш друг с другом то "дейсвие"
|
|
| |
toizy | Дата: Пятница, 23 Января 2009, 12:17 | Сообщение # 26 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Клади сюда что там у тебя сейчас...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Пятница, 23 Января 2009, 17:30 | Сообщение # 27 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Прикрепления: 8505229.mbd(6Kb)вот что я сделать хочу
|
|
| |
toizy | Дата: Пятница, 23 Января 2009, 17:34 | Сообщение # 28 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Ну и хде твои прикрепления?
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Пятница, 23 Января 2009, 18:01 | Сообщение # 29 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Ой,я там выше уже выкладывал,думал ссылка скопируется Дата: Понедельник, 19 Январь 2009, 13:17 | Сообщение # 18Добавлено (23 Январь 2009, 18:01) --------------------------------------------- Вот мне нужно понять как сделать чтобы если одна линия соединилася со второй происходило то или иное действие
|
|
| |
Alex3A | Дата: Суббота, 24 Января 2009, 00:59 | Сообщение # 30 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (adamfromvyazniki) Вот мне нужно понять как сделать чтобы если одна линия соединилася Если координаты объектов пересекаются - значит можно выполнять действие. Каждый объект занимает определенное пространство, по двум координатам от х до х+ширина и от у+высота, остается проверить пересекаются ли координаты объектов. Для объектов расположенных под углом, конечно, алгоритм будет посложнее.
|
|
| |