Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.02.2012, 14:35
kapi kapi вне форума
Прохожий
 
Регистрация: 25.02.2012
Сообщения: 6
Репутация: 10
По умолчанию Игра. Пазлы

Здравствуйте. Пишу пазлы, необходимо сделать пазлы не квадратными а именно "пазлами"(не знаю как называется такая форма). Посоветуйте как это можно сделать, мыслей по этому поводу вообще нету(
Ответить с цитированием
  #2  
Старый 25.02.2012, 14:56
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Regions
CreatePolygonRgn
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 25.02.2012, 15:08
kapi kapi вне форума
Прохожий
 
Регистрация: 25.02.2012
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
Regions
CreatePolygonRgn
а можно ссылку на какой нибудь источник на счет этого, если честно то я незнаю что это(
Ответить с цитированием
  #4  
Старый 25.02.2012, 15:29
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Лучше все-таки делай их квадратными, но при конечном рисовании используй маску(двумерный массив или изображение, где "пазл" - черный, а остальное - белое). Рисуешь попиксельно (или построчно), и проверяешь соответствующие пикселы в маске - где черный - рисуешь, где белый - пропускаешь. Ну, или как вариант, изображения а alpha-каналом.
Ответить с цитированием
  #5  
Старый 25.02.2012, 15:53
kapi kapi вне форума
Прохожий
 
Регистрация: 25.02.2012
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от YVitaliy
Лучше все-таки делай их квадратными, но при конечном рисовании используй маску(двумерный массив или изображение, где "пазл" - черный, а остальное - белое). Рисуешь попиксельно (или построчно), и проверяешь соответствующие пикселы в маске - где черный - рисуешь, где белый - пропускаешь. Ну, или как вариант, изображения а alpha-каналом.
а вы не могли бы объяснить поподробней или дать ссылку на ресурс о маске, впервые с этим встретился
Ответить с цитированием
  #6  
Старый 25.02.2012, 17:19
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

запрос в http://www.google.ru/ - "работа с регионами".
http://www.rsdn.ru/article/gdi/regions.xml
http://www.codenet.ru/progr/delphi/stat/regions/
имхо, с ними проще отлавливать столкновения пазлов при перемещении их мышкой. хотя если форма всех пазлов одинакова и будет только вставка пазла в сетку то естественно с прямоугольниками работать проще - достаточно будет битмапа с фоном, который будет прозрачным при отображении. естественно этот цвет не должен использоваться в самой ккартинке.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Этот пользователь сказал Спасибо NumLock за это полезное сообщение:
kapi (25.02.2012)
  #7  
Старый 25.02.2012, 19:31
kapi kapi вне форума
Прохожий
 
Регистрация: 25.02.2012
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
запрос в http://www.google.ru/ - "работа с регионами".
http://www.rsdn.ru/article/gdi/regions.xml
http://www.codenet.ru/progr/delphi/stat/regions/
имхо, с ними проще отлавливать столкновения пазлов при перемещении их мышкой. хотя если форма всех пазлов одинакова и будет только вставка пазла в сетку то естественно с прямоугольниками работать проще - достаточно будет битмапа с фоном, который будет прозрачным при отображении. естественно этот цвет не должен использоваться в самой ккартинке.
я уже сделал пазлы квадратными, все работает, просто потом захотелось чтоб они были более "настоящими"))и тут тупик)если тебе не сложно можешь написать примерчик как ты их рисуеш?

Последний раз редактировалось kapi, 25.02.2012 в 20:02.
Ответить с цитированием
  #8  
Старый 27.02.2012, 16:53
kapi kapi вне форума
Прохожий
 
Регистрация: 25.02.2012
Сообщения: 6
Репутация: 10
По умолчанию

Помогите пожалуйста разобраться с пазлами. Посмотрел я работы с регионами нашел только как изменять размеры формы, а так чтобы большая картинка разбивалась на много пазлов не понимаю ,ну например как здесь http://brt.com.ua/images/stories/zag...puzzle-brt.png .
Ответить с цитированием
  #9  
Старый 28.02.2012, 01:29
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Пример для единичного пазла. Просто изображение следует разбивать на квадраты, которые как-бы "заходят" друг за друга на расстояние "пина", а потом применять маску, как в примере.

Последний раз редактировалось YVitaliy, 19.04.2012 в 00:35.
Ответить с цитированием
  #10  
Старый 01.03.2012, 13:56
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Ну вот. Увидел на свою голову тему и заинтересовался.
Накидал класс TPuzzle, который при заданных параметрах формирует регионы для всей мозайки (достаточно указать размер мозайки, количество строк и столбцов). А дальше используй как тебе заблагорассудится. Смотри пример. http://zalil.ru/32798052

Пример не реализовывает игру. Только отображает частично собранную мозайку и "кучу" оставшихся фрагментов.
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.

Последний раз редактировалось dr. F.I.N., 01.03.2012 в 14:50.
Ответить с цитированием
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение:
kapi (02.03.2012)
  #11  
Старый 02.03.2012, 14:20
kapi kapi вне форума
Прохожий
 
Регистрация: 25.02.2012
Сообщения: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от dr. F.I.N.
Ну вот. Увидел на свою голову тему и заинтересовался.
Накидал класс TPuzzle, который при заданных параметрах формирует регионы для всей мозайки (достаточно указать размер мозайки, количество строк и столбцов). А дальше используй как тебе заблагорассудится. Смотри пример. http://zalil.ru/32798052

Пример не реализовывает игру. Только отображает частично собранную мозайку и "кучу" оставшихся фрагментов.
Большое вам спс!)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter