Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 15:31   #11
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
плавно подвожу картинку к нужному месту и она сама встает на место.
Я не знаю как Вы хотите и как сделали, но правилами хорошего тона и доброй традицией считается что картинка должна встать на место когда юзер отпустит кнопку мыши. Он ведь может ошибаться и нести картинку в другое место, а Вы иначе лишаете его иллюзий, что может вызывать раздражение.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 21.01.2015, 17:20   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
но правилами хорошего тона и доброй традицией считается что картинка должна встать на место когда юзер отпустит кнопку мыши. Он ведь может ошибаться и нести картинку в другое место, а Вы иначе лишаете его иллюзий
Согласен.
Позволю себе высказать свое личное мнение по интерфейсу.
Когда юзер потащил картинку, он её может таскать сколько угодно, потом, когда он отпускает зажатую клавишу мышки, нужно просчитать, насколько координаты новой позиции картинки далеки от её правильной позиции (правильная - это где картинка должна стоять), если отличие (удаление) углов картинки на несколько пикселей от её местоназначения, то её можно "примагнитить" на реальное место. Но этот зазор должен быть очень небольшим (думаю, что приделах 5 пикселей) - если с ним переборщить - то играть станет не очень интересно - знай таскай картику по полю, пока она не примагнитится на своё место!

ДОБАВЛЕНО
Так. СТОП! Всё вышесказанное мною относилось к играм типа "ПАЗЛ" - когда кусочки имеют НЕ ПРЯМОУГОЛЬНУЮ форму!
В случае же с квадратным полем картинка должна "примагничиваться" к ЛЮБОМУ посадочному месту - даже если её поместили в НЕВЕРНОЕ место.
А игра будет закончена, когда все картинки стоят на своих местах.

Последний раз редактировалось Serge_Bliznykov; 21.01.2015 в 17:25.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2015, 18:20   #13
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Serge_Bliznykov
А как в делфи можно сделать фигуру типа пазл? У вас нету примера?
NIKOLAYY2 вне форума Ответить с цитированием
Старый 22.01.2015, 01:31   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от NIKOLAYY2 Посмотреть сообщение
Serge_Bliznykov
А как в делфи можно сделать фигуру типа пазл? У вас нету примера?
К сожалению - нет, нету.

Порылся в инете, нашёл два исходника.

тут - ". : Puzzle Image : ."

тут - "Собери картинку"

но в обоих принцип пятнашек - прямоугольное поле, изображение разбито на прямоугольники, переставлять можно соседние элементы по вертикали/горизонтали..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.01.2015, 01:59   #15
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Сообщение от NIKOLAYY2 Посмотреть сообщение
Serge_Bliznykov
А как в делфи можно сделать фигуру типа пазл? У вас нету примера?
Оп-па! По прошествии 100500 лет после начала топика ты спрашиваешь "как в делфи можно сделать фигуру типа пазл?". А оно тебе нужно? Вообще говоря пазл это сложная картина состоящая из очень непростых фигур.
Т.е. это не просто квадрат и даже не просто прямоугольник.
Ещё раз. О чём ты спросил в данном посте?
northener вне форума Ответить с цитированием
Старый 22.01.2015, 06:51   #16
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Я думаю в новых версия делфи реализовать пазлы относительно не очень чтобы сложно. Визуально нужна работа с прозрачными участками. Сами пазлы - изображения будут накладываться друг на друга прозрачными частями. Кроме того, чтобы собрать картинку понадобиться дополнительная информация, например, уникальный идентификатор (просто большое неповторяющееся число) края пазла. При наложении просто отслеживать какие края с какими соединены, какие соединены быть не могут (например если два выступа или две ямки в пазле) и т.д. Задача интересная, но в принципе решаемая.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 22.01.2015, 08:55   #17
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

northener
Да так оно и есть, вот на просторах интернета нашел какой- то исходник, там целая картинка нарезается на части и получается нечто типа квадратов по краям которых типа то вырезаны "кружочки", то наоборот "прикреплены".
Там много кода и "нарезаются" они программно сложным каким то алгоритмом. Больше тот исходник ничего и не делает.

Utkin
И вот еще что нашел, на просторах интернета попалась заготовка пазла, а может и во все ненужно использовать какой-то сложный алгоритм нарезания пазла, а как либо использовать для этого уже готовую "сетку".
Если по одной картинке человек еще как-то "нарезал" при помощи кода, то как по другой картинке- сложно даже и код такой придумать.
Хотя может и просто расчертить линиями на канве может еще как-то и получится, там если в детали вглядется не такой и сложный рисунок (две линии покраям по середине которых бугорок), просто он очень часто повторятся.
Изображения
Тип файла: jpg 1111.jpg (19.0 Кб, 70 просмотров)
Тип файла: jpg puzzle-brt.jpg (42.8 Кб, 128 просмотров)

Последний раз редактировалось NIKOLAYY2; 22.01.2015 в 09:02.
NIKOLAYY2 вне форума Ответить с цитированием
Старый 22.01.2015, 09:15   #18
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Я не об этом. Пазлы предлагаю использовать стандартные квадраты. Но часть изображения (которая не будет пазлом, например выемка) должна быть прозрачной. Такие способы обработки изображения есть. Например gif поддерживает прозрачность. То есть Вы все равно будете манипулировать квадратным изображением, но поскольку Вам нужно наложение пазлов, то Ваши изображения будут накладываться друг на друга. А для определения корректности нужно уметь ориентировать пазлы (в случае если Вы будете их вращать, а не просто перетаскивать с места на место) - то есть пазл может быть и на месте, но перевернут к верху ногами. 9 рисунок на Вашем изображение показывает такой пазл, который можно засунуть задом наперед. Поэтому края изображения должны быть как-то помечены. То есть грубо говоря Вы должны знать:
1. Что пазл лежит на своем месте в матрице.
2. Что пазл лежит так как должен лежать.
3. Что пазлы совпали по пазам. Если край ровный (граничные пазлы), то естественно он не должен вставать на место.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пристыковка Окон OrdJONY Общие вопросы Delphi 15 19.04.2007 12:47