Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2008.06.15;
Скачать: [xml.tar.bz2];

Вниз

Puzzle   Найти похожие ветки 

 
ryryr   (2007-02-13 07:35) [0]

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


 
brother ©   (2007-02-13 10:33) [1]

а как виндовз написать?


 
MonoLife   (2007-02-13 11:11) [2]


> ryryr   (13.02.07 07:35)

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


 
Creative   (2007-02-13 11:31) [3]

Я либо не поняла поставленную задачу, либо надо взять рисунок, взять/нарисовать профиль паззла, порубить рисунок на куски, ну а дальше дело органицации.
Проффиль паззла у меня где-то был, хотя и не очень кузявый. Ну да это задача не самая страшная.


 
MonoLife   (2007-02-13 11:45) [4]

Creative, поясни, что подразумевается под >взять/нарисовать профиль паззла?
Я делел паззл из прямоугольников... хочу тоже из кусков, давно мечтаю! :) Только вот, не знаю как сделать эти прямоугольники оригинальными кусочками... Нужен алгоритм разрезания картинки? Или еще что-то?


 
<Efir>   (2007-02-13 12:06) [5]


> Только вот, не знаю как сделать эти прямоугольники оригинальными
> кусочками...


Легко. Создаёш полигон с контурами "оригинального кусочка". Создаёшь новый битмап, рисуешь на нём полигон с какой нить заливкой. Делаешь этот цвет прозрачным и рисуешь этот битмап с полигоном на кусочке рисунка паззла.


 
Creative   (2007-02-13 12:37) [6]

Я думала, чо паззлы - это специфическое название мозаики из таких странный фигурок с круглыми выступами и впадинами.
Как я делала: я брала оригинальныю картинку, рисовала векторный контур кусочка мозаики, и закладывала картинку этими контурами. Потом я резала ее на кусочки соответствующей формы. Я игрушку не писала, но если бы стала , то наверное грузила бы битмат с прозрачным фоном, ли что то в этом роде.


 
MonoLife   (2007-02-13 13:28) [7]


> <Efir>   (13.02.07 12:06) [5]

это что, по типу битмап маски?

> Creative   (13.02.07 12:37) [6]
..
> Потом я резала ее на кусочки соответствующей формы.

как?!


 
Creative   (2007-02-13 13:51) [8]


> > Потом я резала ее на кусочки соответствующей формы.
>как? !


ну я делаю так:

1. запускаю фотошоп.
2. открываю картинку.
3. рисую пером или загружаю из иллюстратора путь в форме кусочка паззла.
4. сохраняю путь.
5. повторяю пп. 3-4 до тех пор, пока картинка не будет вся покрыта сеткой кусочков.
6. начинаю вырезать:
  6.1выделаю слой основной картинки
  6.2 в закладке Path выбираю первый путь и делаю ctrl+Click, получая поверх картинки выделение в форме моего кусочка.
  6.3 копирую выделанную часть картинки в новый файл
7. повторяю п. 6 до тех пор пока не разрежу картинку на столько файлов, из скольких кусочков состоит мой паззл.

Вот. Если я конечно провильно поняла вопрос.


 
MonoLife   (2007-02-13 14:11) [9]

а... интересно... но вопрос, конечно же, не про фотошоп.. Как разрезать программно фигурно?

Просто, возник такой сабж и я конечно же заинтересовался...


 
<Efir>   (2007-02-13 14:20) [10]


> Creative   (13.02.07 13:51) [8]


Хитро.

Можно ещё хранить массив координат искомой области.


 
Creative   (2007-02-13 14:48) [11]

ну я думаю примерно так: картинки с фигурками рисовать все равно придется. только надо делать из черными, и делать из них маски. я бы грузила их поверх картинки и при клике мышью например обращалас ь к тем пикселям картинки которые лежат под данной маской.
Ну это очень грубо конечно


 
@!!ex ©   (2007-02-13 14:58) [12]

Делаем N-дцать типов кусочков.
Каждый тип -
reocrd
 Top,Left,Bottom,Right:word;//Показывает с каким типом кусок стыкуеться в соответствующими сторонам.
end;

Строиться 2d массив на картинку. Где забиваються случайно разные типы кусков.
Размер каждого куска - фиксированный. То есть он все равно квадрат, просто где то у него вырез, а где то выпуклость, но в общем он влазит в квадрат фиксированного размера.
Имеем N-дцать примитивов. Для каждого типа свой примитив.
Текстурные координаты для каждого recrf вычисляються в зависиости от положения куска в построенном 2d массиве.

Вопросы?


 
MonoLife   (2007-02-13 15:32) [13]


> Creative   (13.02.07 14:48) [11]

я уже упомянул маску... пока оставим ее..

> @!!ex ©   (13.02.07 14:58) [12]

что ты описал? Как взаимодействуют между собой фрагменты и смешиваются? Это вопрос второстепенный, как и визуализация...

> просто где то у него вырез, а где то выпуклость

вот это как сделать?!


 
Creative   (2007-02-13 15:50) [14]


> > просто где то у него вырез, а где то выпуклость
>вот это как сделать?!


а ты можешь объяснить - что "это"?


 
MonoLife   (2007-02-13 16:12) [15]


> Creative   (13.02.07 15:50) [14]

это ко мне? Если я спросил как это сделать, то что я могу объяснить, если сам не знаю?! Хотя... если вернемся к "маске"... Но и здесь хотелось бы подробностей. С учетом, что маску нужно накладывать не на всю картинку а на каждый кусок отдельно


 
@!!ex ©   (2007-02-13 16:25) [16]


> MonoLife   (13.02.07 15:32) [13]

Помоему я описал базовый концепт позволяющий реализовать все.
Проблема сгенерить примитив с выступом/дыркой? :))


 
@!!ex ©   (2007-02-13 16:28) [17]


> MonoLife   (13.02.07 16:12) [15]

Помоему я довольно я сно описал, как на примитив накладывать текстуру...


 
MonoLife   (2007-02-14 03:31) [18]


> Помоему я довольно я сно описал, как на примитив накладывать
> текстуру...

нет, не ясно
>Проблема сгенерить примитив с выступом/дыркой? :))
да



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2008.06.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.006 c
9-1171341313
ryryr
2007-02-13 07:35
2008.06.15
Puzzle


11-1190057676
Егор_Г
2007-09-17 23:34
2008.06.15
Установка MCK на Lazarus+FPC 2.2.0


15-1209937314
tButton
2008-05-05 01:41
2008.06.15
case n of


2-1211546124
StiTch
2008-05-23 16:35
2008.06.15
Мемо


2-1211542227
Ega23
2008-05-23 15:30
2008.06.15
Посоветуйте, как лучше заполнить PopupMenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский