0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
1 | |
Игра в мозаику28.08.2013, 01:00. Показов 5764. Ответов 30
Метки нет (Все метки)
Помогите реализовать вот такой вот процесс: имеется 2 картинки (image) на форме. Одна из картинок квадрат, поделенный на 4 равные части, вторая картинка квадрат равной 1 из 4х частей большого квадрата. Маленький квадрат принадлежит лишь к одной из 4х частей большого. Нужно чтобы маленькая картинка при перетаскивании сама вставала (доводилась) на нужное место в большом квадрате и не вставала (не накладывалась) на остальные 3 части квадрата. То есть чтобы маленький квадрат как мозаика не подходил к 3м из 4х частей большого квадрата, но к одной из них он подходил. Схожее действие я видел в стандартном пасьянсе на вин- там карта не вставала если не были соблюдены условия, но чуть-чуть доводилась сама если все подходило. Сделать так, чтобы картинку можно было таскать я смогу, подскажите, пожалуйста, как сделать чтобы она вставала как я описал выше?
0
|
28.08.2013, 01:00 | |
Ответы с готовыми решениями:
30
Игра в мозаику. Разбить картинку на части Собрать мозаику программно Построить мозаику калейдоскоп Построить мозаику из n правильных n угольников |
angstrom
|
|
28.08.2013, 01:15 | 2 |
"Разбить" первую картинку на 4 TRect-а и воспользоваться функцией PtInRect. Данная функция вернёт True, если Rect второй картинки пересечётся с нужным Rect-ом на первой. Далее дело техники, выставить координаты второй картинки на нужное место.
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
28.08.2013, 01:33 [ТС] | 3 |
Надо было сразу писать что их будет 36 и мои познания крайне малы в делфи: я не особо понял о чем вы. Если не трудно приведите пожалуйста код хоть приблизительно или пошлите куда почитать подобные коды
0
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
28.08.2013, 01:33 | 4 |
IntersectRect
0
|
angstrom
|
|
28.08.2013, 01:41 | 5 |
В качестве первой картинки можно использовать TDrawGrid, тогда ничего уже делать не нужно, только проверять какой ячейке принадлежат "таскаемые" картинки.
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
28.08.2013, 13:46 [ТС] | 6 |
Спасибо за tdrawgrid, сейчас сижу разбираюсь с ним, а не могли бы вы указать на какой-либо пример с элементами использования этого объекта в целях моей проги?
0
|
Модератор
3490 / 2613 / 741
Регистрация: 19.09.2012
Сообщений: 7,974
|
|
28.08.2013, 13:56 | 7 |
1
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
28.08.2013, 14:18 [ТС] | 8 |
Спасибо за пример, но если есть еще у вас или еще у кого кто будет просматривать эту тему, пожалуйста, кидайте ссылки на них сюда, заранее спасибо и тык по "+1 спасибо" с меня
0
|
angstrom
|
|
28.08.2013, 14:43 | 9 |
Вот упрощённый вариант такой программы
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
28.08.2013, 15:06 [ТС] | 10 |
Спасибо, но не нашел .res файла у вас, чтобы запустить. А так по тексту очень помогло, сижу изучаю
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
28.08.2013, 15:13 | 11 |
0
|
angstrom
|
|
28.08.2013, 15:13 | 12 |
res-файл создастся автоматически при открытии проекта.
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
28.08.2013, 16:33 [ТС] | 13 |
Попробовал сам разобраться(пересоздал заново и просто копировал и вставлял из вашего проекта), возникли проблемы при запуске: пишет что не видит файл с типами (types), когда идет надпись uses types
Добавлено через 43 секунды тоже так думал, но ничего нет. В чем может быть проблема?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
|
28.08.2013, 16:36 | 14 |
Ну вот та же программа со всеми файлами
1
|
angstrom
|
|
28.08.2013, 16:54 | 15 |
Откуда он там взялся, я не вписывал. Просто удали.
Замечал такое для Дельфи версий XE. Хотя Puporev уже выложил с res-файлом. |
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
||||||
28.08.2013, 22:16 [ТС] | 16 | |||||
Запустил, разбираюсь, не могли бы вы подсказать по вот этому коду. Я понял до момента цикла for, то что i j выступают в роли разделительных линий картинки 2.jpg, но как это происходит и далее не пойму. Не могли бы вы предоставить небольшие пояснения?
0
|
angstrom
|
||||||
28.08.2013, 23:30 | 17 | |||||
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
29.08.2013, 14:00 [ТС] | 18 |
angstrom, огромное спасибо, я на такое и надеяться не мог
0
|
0 / 0 / 1
Регистрация: 14.11.2012
Сообщений: 272
|
|
31.08.2013, 14:15 [ТС] | 19 |
в ходе переделывания программы под себя возникла необходимость в следующем условии: if 'мозаика собрана' then 'действие'. Подскажите, пожалуйста, как сформировать условие 'мозаика собрана' для оператора if?
0
|
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
|
||||||
31.08.2013, 14:27 | 20 | |||||
Завести глобальную переменную-счетчик.
Попала картинка на место, +1, все попали
1
|
31.08.2013, 14:27 | |
31.08.2013, 14:27 | |
Помогаю со студенческими работами здесь
20
Требуется прикрутить счётчик ходов в мозаику Как сделать мозаику (drag/drop) ? Как из картинки сделать мозаику из кубиков (пикселей)? Построить мозаику из правильных шестиугольников заданного размера, закрасив их разными цветами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |