Puzzle It! — проект на коленке.

    logo Puzzle It! — онлайн-генератор пазлов с возможностью сборки этих самых пазлов прямо в окне браузера. Ниже я хотел бы рассказать историю создания этого, интересного для меня, инструмента.

    Как-то сидя вечером и просматривая Хабр наткнулся на заметку товарища ganzer о том, что человек ищет адекватный к его потребностям конструктор пазлов. Все бы ничего, но я сам, как любитель убить несколько часов за этим занятием, заметил, что в сети нет приятных и «правильных» инструментов для создания простого пазла, который можно тут же собрать.

    И тут на задворках сознания начала зудить навязчивая идея. Именно с этого все и началось.

    Перед началом


    Еще раз проверив поисковики на наличие такого сервиса без каких-либо ограничений (java или flash отнес к таким ограничениям) я все-таки решил не искать зря и, что уж там, взять и сделать такой конструктор сам. Но на простом месте его делать было неинтересно, нужна была какая-то цель. Для меня такой целью стал девиз «Just For Fun» и я с энтузиазмом принялся за обдумывание своего будущего детища. Определив, что все-таки основой всего будет именно создание частичек картинки я решил, что первым делом сделаю именно это.

    Простая математика


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



    И после двух дней, которые я просидел над справочником по математике с карандашом, линейкой и открытым Inkscape я понял, что такая модель получается не просто большой, а очень громоздкой и неповоротливой. Ди и времени на получение правильного результата тратилось очень много — чего стоит только то, что на моем рабочем ноутбуке 1 частичка пазла генерировалась с полученной моделью больше 2х секунд из исходного изображения. Теперь же, если представить, что таких частичек относительно много (в пазле 20х20 их 400) то картина получалась весьма неутешительная.

    Нужно было какое-то визуальное упрощение пазла — и я решил ограничить «случайность» выбора стороны пазла до 4-5 вариантов, чего вполе хватало для приличной случайности получаемой в итоге части.

    Справочник по математике снова отправился на полку.

    Процесс


    После решения о упрощении я понял, насколько замечательная штука Inkscape. В нем я довольно просто сделал все варианты сторон и очень быстренько экспортировал все это в PNG как основной материал для производства частиц изображения.

    Дальше все пошло так, как и должно было быть. Были определены основополагающие размеры: размер видимой частички без «хвостиков» — 50х50 пикселей. Соответственно, размеры всех загружаемых изображений теперь должны были быть кратными 50.

    Решение по изменению размеров изображения стало одним из краеугольных камней всего проекта. Изменение размеров было реализовано путем уменьшения исходной картинки, если она «не попадала» в нужные размеры по ширине, а потом — обрезание по высоте до необходимого размера. Это позволило избежать проблем с перемасштабированием картинки, однако может вызвать интересный момент, если в обрезанных снизу 49 пикселях все-таки было что-то важное. Пока-что я не увидел правильного и православного решения этой проблемы, которое бы позволяло избежать видимой прямо на частях пазла «помощи» в сборке изображения в виде линий и прочих артефактов.

    Продолжаем работу. Теперь у меня была готовая для обработки картинка. Что же с ней делать дальше?

    Дальше наступил самый интересный момент — процесс построения «матрицы» всего пазла и, собственно, производство всех изображений частей пазла. С самого начала в качестве основы для частиц пазла был выбран формат PNG с его 8-bit прозрачностью, но с ним все еще остались проблемы в IE6, который я, к сожалению, даже протестировать не могу — фильтры в Linux'овом IE6 работать отказываются. Тем не менее формат позволял делать то, чего я от него добивался.

    Каждый элемент конечной матрицы по итогу получал координаты на исходном изображении и 4 значения для каждой стороны. В значении стороны у меня сохранялся тип стороны (если вы заметили — их всего 4) и «инвертирование» — т.е. является ли сторона выпуклой или нет.

    После получения матрицы можно было пробежаться по всем ее элементам и изготовить конечные части мозаики. В общем-то здесь все просто — пиксель с координатами из исходного изображения копировался в конечное изображение с тем значением альфа-канала, которое было в «заготовке» стороны, ну а весь остаток по стороне заполнялся поточечно треугольником к центру. Благо — реализуется это очень просто. Визуально весь этот процесс показан на картинке.



    В общем и целом в этой части очень помогло хорошее знание GD — уж очень активно общался с этой библиотекой. Единственное но — попиксельное копирование все-таки ресурсоемко.

    Еще один подводный камень, всплывший на пути — относительное изменение размеров из-за разных конечных размеров картинки (случайная выпуклость частиц давала о себе знать и регулярно слала умопомрачительные приветы). Поэтому иногда конструкции if() получались просто монструозные и тут же искался другой путь и куски кода переписывались заново.

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

    Сборка


    Стоит так же упомянуть о процессе сборки. Весь Javascript-функционал реализован на jQuery, но стандартный Drag'n'Drop (куда же без него в такой игре?) из пакета jQuery.UI отличается изрядной тормознутостью в FF, поэтому я занялся поиском более легковесного решения. И таки нашел — webtoolkit Drag'n'Drop. Если в будущем у вас будут подобные задачи — попробуйте. В этой реализации нет ничего лишнего и она работает просто замечательно.

    При проектировании сборки мне очень помог Feedback от моих друзей и товарищей, которым я показывал будущее детище. Именно после обсуждений процесса сборки появилось «прилипание» кусочков друг к другу в случае, если они в правильном месте и перемещение целых собранных кусков. Стоит упомянуть отдельно таскание целых кусков — реализовано так же на jQuery некоторой модификацией Drag'n'Drop. При соединении нескольких кусочков в правильную конструкцию они образовывают «колонию» со своим уникальным id. И при перемещении с помощью jQuery относительно одного из кусков перемещаются так же все остальные члены «колонии». Все просто, но работает замечательно.

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

    Хабраэффект


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

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

    Именно после введения в строй демона появился экранчик с просьбой немного подождать. Все-таки жизнь и здоровье сервера намного дороже моего сервиса и с этим нужно мириться. Общежитие как-никак, хоть и очень приятное для меня.

    Рутина


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

    Иногда себя приходилось заставлять. Бедный FAQ на 15 вопросов рожался часов 10 V_v.

    Но и этот шаг был побежден.

    The End


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

    Конечно этот генератор пазлов далеко не идеален. Вот небольшой список того, что будет дореализовано в ближайшее время:
    • Изменение процесса создания частиц с использованием кривых Безье вместо сатичных изображений-макетов
    • Сохранение в каком-либо виде положений частиц в «недособранном» пазле. Удобно будет, если пазл большой и собирать его 6 часов подряд не можешь.
    • Возможность переворачивать частицы по нажатию мыши и, соотетственно, случайный переворот при отображении.
    • Многопоточность демона для более быстрого получения конечного пазла.
    • Таймеры сборки пазла, режим коллективной сборки с нескольких компьютеров
    • Комментирование самого пазла

    И это только первое, что бросается в глаза. Но работа уже начата, и если сервис кого-нибудь заинтересует — я буду продолжать над ним работать. Да и если не заинтересует — всеравно не буду его забрасывать ^_^ Как по мне — вещь очень интересная и перспективная.

    Хотелось бы добавить, что весь сервис делался Just For Fun и никакой материальной отдачи за собой не подразумевал. Но если у вас есть идеи, как его сделать прибыльным — выслушаю с удовольствием. Да и вообще если у вас будут идеи по улучшению генератора — я всегда к вашим услугам.

    Дарес проекта: puzzleit.org.ua

    Собрать тестовый пазл можно по адресу: http://puzzleit.org.ua/puzzle/cb287c8f7d69827344d053d0f0b97362/

    В общем-то такая небольшая история.
    Спасибо за внимание.

    З.Ы. Всех с Рождеством!
    З.Ы.Ы. Отдельное спасибо Хабрахабру и его пользователям за статьи о стилизованном input=file и построении многопоточных демонов. Очень помогли.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 105

      +1
      Не хватает возможности перетащить сразу несколько ячеек

      А в целом — шикарно, спасибо за труд!
        0
        Незачто, для вас и делался. Перетащить несколько можно уже в собранном состоянии. Я думаю, чуть позже просто добавится виджет выделения группы для перемещения.
          0
          Слушайте, и вправду — в собранном можно!
          И ещё в сто раз круче было бы, если приклеивание было. Ну или некое подобие выравнивания по сетке.
          То есть чтобы для того, чтобы поставить ячейку на её место, не нужно было бы проявлять чудеса точности указания мышкой :-)
            0
            Так вроде есть приклеивание. Наверное, настройка порога приклеивания была бы кстати :)
              0
              Ну или так это можно назвать.
              Порог приклеивания, да.
        0
        О! Спасибо!!! Ато я уже отчаялся, т.к. времени на все не хватает.
          +5
          Вот как раз вам я и отписывал в личку по поводу того, что вы меня идеей заразили. Это вам скорее спасибо ^_^
            +3
            Ну, уж тогда спасибо вот этой девочке

            это она, любительница пазлов, заставила меня копать в этом направлении.
          0
          Отлично! Будет, чем заняться теперь :)
          Я смотрю, у вас там аниме любят :))
            +1
            Это мои тестовые изображения ^_^ Но вы абсолютно правы — аниме я люблю.
            +1
            Отличный сервис) Собрал тестовую картинку.
            Кстати и придумал вам способ монетизации. Кнопку — Помощь. При ее нажатии вываливается просьба отослать смс, в ответ приходит код, он вводится в окне пазла, и 1 или 2 пазла автоматом соединяются :)
              0
              Я бы никогда не стал платить деньги за то, чтобы просто собрать паззл.
                +2
                Я вообще то пошутил, но ладно :)
              +1
              Не получается соединить два больших фрагмента в двух точках, между которыми отсутствует кусок.
              00 <=> 0
              0      0
              00 <=> 0
              
                +1
                Хм… Интересно. Хорошо, сейчас отправлюсь проверять, почему. Спасибо.
                +2
                Собрал двух симпатичных девиц :)
                  +2
                  судя по счетчикам — их только и собирают ))
                    +3
                    Одну я даже знаю кто залил ;)
                  • UFO just landed and posted this here
                      0
                      надо бы побороть возможность выделения страницы при дрегендропе…
                      +3
                      Отлично! Просто супер, говорю Вам как ценитель пазлов :)

                      Несколько «хотелок»:
                      1. Я бы увеличил порог близости для подключения деталей. Иногда приходится долго целиться для того, чтобы соединить две детали. Тут же можно подумать еще и о том, чтобы неподходящие друг к другу детали отскакивали друг от друга. Хотя, последнее не обязательно.
                      2. Поле для сборки пазла слишком большое, а поле с деталями — слишком маленькое. Я бы вообще изначально поместил все детали на поле для сборки. Можно прямо в том же состоянии.
                      3. Можно было бы разбрасывать детали в повернутых состояниях. То есть реализовать возможность поворота деталей. Мне бы понравилось, не знаю, как другим…
                      4. Было бы здорово иметь несколько уровней сложности. Например, детский, с полупрозрачной собранной картинкой под пазлом, простой, когда детали отскакивают, если не подходят друг другу, обычный, как сейчас, и сложный — с неправильно повернутыми деталями.
                      5. Ну и в целом, для сервиса, можно было бы ввести регистрацию и рейтинг по скорости сборки пазлов, проводить соревнования и прочее-прочее. Хотя, быть может вы об этом всем и без меня подумали :)

                      Удачи, спасибо за отличный сервис!
                        +1
                        Я думаю, все это будет в будущем. Проекту полторы недели всего, и я еще не думал над такими глобальными масштабами захвата мира ^_^
                          0
                          Да вы записывайте, записывайте, идеи-то правильные ;)
                          У меня ещё были всё же некоторые проблемы с фоном — иногда с ним сливается граница (может, границу как-нибудь обвести?). И не понравилось, что когда я соединил последние кусочки, и только хотел на результат полюбоваться, страница взяла, и перезагрузилась, показав «бездушную оригинальную картинку» вместо собранного лично мной пазла :(
                            +1
                            Конечно записываю. Feedback — одна из важнейших частей разработки ^_^
                            А вот на счет бездушной картинки — не подумал. Обязательно переделаю это. Спасибо большое.
                          0
                          Я присоединяюсь к благодарностям. Проект, действительно, стоящий. Мои 5 копеек:

                          п.1 точно нужно (порог близости).

                          6. Хорошо бы подсвечивать собравшийся кусок, когда к нему подсоединяется новая деталь/кусок. А то не всегда понятно — подошло или нет
                          7. Хорошо бы подсвечивать конечную область на поле для сборки и(ли) указывать размеры (в кусочках).
                          8. Нужно как-то пофиксить баг, когда берешься за один большой кусок (посередине) и его совмещаешь с другим — мышка находится не на границе совмещения, в результате не отрабатывает обсчет совпадения краев. Наверное, как раз об этом был комментарий чуть выше.

                          В общем, удачи :)
                          0
                          Спасибо, очень занятно. Не один час можно просидеть)
                          Было бы удобнее обрамлять каким-то образом детали на поле для сборки, потому что иногда кажется, что деталь одна, а на самом деле под ней еще несколько похожих. И так все ищешь, пока не «поподнимаешь» все…
                          А так в целом просто замечательный сервис. Спасибо.
                          Пойду собирать дальше)
                            0
                            большие группы не стыкуются :((
                            Впрочем, это не помешало мне закончить паззл…
                              +1
                              Странно. Должны стыковаться. В любом случае об этом уже говорили и сегодня я обязательно все перепроверю.
                                +1
                                i40.tinypic.com/1zxl07a.png
                                Вот здесь. Никак не могу приделать голову к сиськам :)
                                  +1
                                  Таки не зря в названии сделал приставку «beta». Теперь ею можно выгораживать свою криворукость.

                                  Сегодня обязательно постараюсь разобраться, что это такое и почему происходит. Спасибо большое вам!
                                    0
                                    Я, кажется, понял почему. Если схватить большую группу не за тот кусочек, который вы хотите присоединить к другому кусочку/группе — то они не склеиваются. Если схватить группу именно за тот кусок, все склеивается.
                              0
                              Всё бы хорошо, только уберите у «деталей» атрибуты x и y, которые обозначают их положение в пазле :) Иначе, он довольно быстро собирается с помощью firebug.
                              А так супер, молодцы.

                              <div style="display: block; position: absolute; top: 258px; left: 10px;" y="0" x="0" id="element_13_13">
                              	<img src="/images/upload/78/13_13.png"/>
                              </div>
                              
                                +3
                                Спасибо, постараюсь с этим что-нибудь придумать.
                                И не надо ко мне во множественном числе. Я себя еще не научился клонировать. ^_^
                                  +3
                                  Вы молодец :)
                                    0
                                    Для таких вещей я использую вариант с onclick, т.е.:

                                    <div onclick="return {'x':0, 'y': 0};"></div>
                                    


                                    Потом как забрали значения яваскриптом удаляем свойство onclick.
                                      +2
                                      У меня сегодня вечер фурора на Хабре ^_^
                                      Собираю Feedback. Спасибо вам большое, буду пробовать по-макимуму продумать защиту от «Чита».
                                  0
                                  Отлично! Было бы интересно:
                                  1. Сохранять, чтобы потом можно было дособирать
                                  2. Коллективная сборка
                                    +1
                                    Это все есть уже в планах на будущее. Буду держать Хабрасообщество в курсе событий вокруг конструктора.
                                    +1
                                    Хочется бликов и теней на детальках. А то если на края попадают серые части изображения, сложно определить форму стыка.
                                      +2
                                      Внизу, если вы земетили, можно менять цвет фона. Я думаю, переделаю эту функцию немного чтобы она так же меняла цвет сборочного блока. Тогда можно будет просто изменить фоновый цвет для большей контрастности.
                                        0
                                        Или просто поставьте выбор цвета фона на более видно место (У меня 1024х600) справа, или сверху.
                                          0
                                          Можно анализировать средний цвет картинки и делать фон инвертированного цвета. Наверное…
                                        0
                                        Хочется режим драг'н'дропа для тачпада — первый клик — драг, второй — дроп.
                                          +2
                                          Хм. Режим «Ноутбук»? Спасибо, я думаю, такое сделать — не проблема.
                                          0
                                          Круто!
                                          Только пусть они легче прикрепляются друг к другу, и простенькая анимация этого действия не помешала бы (например разовая подсветка присоединяемых контуров).

                                          А вообще выпускать такую штуку во время сессии — это преступление)
                                            +3
                                            Эм… Сорри, я не знал, что сейчас сессия ^_^
                                              0
                                              Ну вот-вот начнётся)
                                            0
                                            почему-то прикрепляемость зависит от того что к чему прикреплять. А к Б — ни в какую, а вот Б к А — влёт.

                                            нельзя поменять цвет поля — почему?
                                            зачем менять цвет вокруг поля? почему это происходит при наведении а не при клике?
                                              +1
                                              Насколько я понял, прикрепление сейчас — это основная ошибка. Сегодня я еще раз все перепроверю и исправлю все, что найду.
                                              Меняется не цает вокруг поля, а цвет фона. Я думаю, в будущем они будут меняться синхронно.
                                              Собственно, чем вам не нравится наведение? Непривычно или просто не нравится?
                                                0
                                                я описал чуть выше, что не так с прикреплением :)
                                                  0
                                                  неудобно. когда я выбрал нужный цвет и веду мышь к чанку — задеваю другой цвет.
                                                    +1
                                                    Feedback — вещь! Сегодня изменю на клик.
                                                +1
                                                С математикой смешно получилось, я уж думал вывели какую-то мега-формулу для самого оптимального разрезания на паззлы :)))

                                                Хороший сервис, смешной, респект!
                                                  +1
                                                  Кривые Безье — наше все. Как только допишу их реализацию к GD — буду переделывать логику порезки.
                                                0
                                                Кажется мне — надо делать из этого социальную сеть :)
                                                Хотябы по возрасту чтоб сортировать.
                                                  +1
                                                  Да уж. Вот именно что изначально по возрасту ^_^
                                                    0
                                                    Девушку с желтым фоном, обрезало на самом интересном месте (сработала автцензура) %)
                                                    0
                                                    Наше общежитие в восторге:)
                                                    Все бросили доту и кс — начали собирать пазлы)
                                                    договорились в ближайшие дни устроить чемпионат! :) так что было бы здорово, если добавится таймер.

                                                    А в целом — супер! :)
                                                    0
                                                    Как ни странно, но мне понравилось. Сижу собираю :)
                                                      0
                                                      Поделитесь плиз каринкой с Мозговым Слизнем на путине)
                                                        +1
                                                        Картинка появляется после того, как вы соберете пазл ^_^
                                                        0
                                                        Кстати, я тут перекопал кучу паазловых программок, и видел подсказку в виде сильно-прозрачного изображения-подложки. Мне показалось удобным, так скажем на уровне сложности 0.

                                                          –1
                                                          Начало веселенькое: эротика и разный тупняк :-)

                                                          А вообще я не верю, что кто-то собирает пазлы в интернете. Ведь самое приятное: трогать их в руках, чувствовать, как нужная деталь мягко и точно входит на свое место. Еще интересно складывать пазл с друзьями.
                                                            +2
                                                            Тут согласен, но основной идеей было перенести свое хобби в сеть и сделать его доступным для всех. Ну а на счет начала — видать именно этого в реальных пазлах обычным юзерам и не хватает ^_^
                                                            0
                                                            Спасибо автору.
                                                            Ого, несколько суровых пользователей собрали мою матрицу :)
                                                              0
                                                              Собрал несколько — затягивет, вспомнил детство)) Спасибо!

                                                              Жаль что домен puzzle.it занят (
                                                                0
                                                                и puzzle.me
                                                                тоже -)

                                                                  0
                                                                  puzzlepuzzl свободен по всем направлениям
                                                                0
                                                                Собирал, собирал. А в конце, как это бывает в жизни, одной не хватает. Видимо, заехала за левый или верхний край, откуда уже никак не вытащить :(
                                                                  0
                                                                  Feature request автору:
                                                                  По нажатию какой-нибудь кнопки все свободные кусочки перекидать на свободное пространство.
                                                                  Сам такого до последнего момента опасался.
                                                                  0
                                                                  Когда пазл почти готов при перетаскивание изрядно подтормаживает Opera 9.6.3
                                                                    +1
                                                                    Всё чудесно — спасибо!

                                                                    Насчёт монетизации. Я бы, к примеру, заплатил за возможность интегрировать конкретный пазл к себе на сайт.

                                                                    P.S. Не помешал бы рейтинг полярности.
                                                                    • UFO just landed and posted this here
                                                                        +1
                                                                        Не совсем удобно когда приходится растаскивать вагон кусочков чтобы освободить место для переноса большого куска например в центр поля для сборки.
                                                                        Как варианты решения: кусочки «пугаются» активного кусочка и отъезжают от него.
                                                                        з.ы. Собираю тётю в душе уже не первый час. =) Как сложно ж!!!
                                                                          0
                                                                          блин, ты тоже?) почему то больше всего собирают лого хабра, психодел. картинку и именно эту девушку)
                                                                            0
                                                                            а, не, сорри, там еще девушки есть дальше) *ушел собирать)
                                                                              0
                                                                              девушка хорошо показывает что в картинке должно быть много контрастных элементов и линий (тут бы кстати пригодился какой-либо алгоритм оценки изображения — насколько он пригодно для паззла)
                                                                          0
                                                                          Собрал ту самую тётю всего за 3 часа 17 минут. Бедные студенты…
                                                                          Проект хорош, и его стоит разрабатывать дальше. Вы обязательно захватите мир. =)
                                                                            +1
                                                                            большие куски сцепляются только если двигать один из кусков за тот элемент который должен прецепиться, я понимаю что иначе надо делать чертову кучу проверок…

                                                                            но не проще ли было бы все поле на клетки разбить и засчитывать присоеденным элемент если он на своем исходном месте и вокруг есть как минимум один граничный элемент?
                                                                              0
                                                                              спасибо. Сейчас как раз сижу думаю над разработкой алогоритма нарезки картинки на пазлы. есть что обдумать )
                                                                                –1
                                                                                Портируй свой генератор пазлов на сенсорные панели. Мне кажется, что подобная игра для iPhone и для тех самых столов с multitouch будет очень приятна и популярна. (это в смысле, идеи для выгоды)
                                                                                  0
                                                                                  Хм… Жаль — нет под руками стола для тестирования.
                                                                                  0
                                                                                  Спасибо! Прощай время отведенное на сон.
                                                                                    0
                                                                                    Незачто. Еще поисправляю некоторые моменты — тогда будет вообще все очень вкусно и сладко.
                                                                                    0
                                                                                    А можно собираемую картинку в миниварианте выводить по желание например справа сверху? При сборе навороченых пазлов на поглядывание на коробку очень помогает.
                                                                                      0
                                                                                      Попробуйте навести мышку на ссылку «Подскадка». Должно помочь.
                                                                                      0
                                                                                      а еще цвет фона хотелось бы менять — очень плохо некоторые куски на сером видно — для каждой картинки лучше выбирать наиболее контрастный…
                                                                                        0
                                                                                        Да, это будет.
                                                                                        0
                                                                                        Спасибо!

                                                                                        Из пожеланий.

                                                                                        1. Очень долго растаскивать сбоку кусочки.
                                                                                        2. Немного раздражает выбор фона. Случайно задевать умудряешся, плюс хотелось бы менять цвет поля для сборки, а то на картинках со светлыми полями сливается все.

                                                                                        Ну и еще небольшой глюк. Он конечно не критичный но все-же. Если растащить браузер на 2 монитора положить кусочек а потом перевести в полноэкраный режим, он при этом схлопнется на основной монитор. Кусочек останется где-то за краем причем прокрутка не выведется. :-) Мало для кого критично в целом :-)
                                                                                          0
                                                                                          Ре: 1.
                                                                                          У меня лично — спорное чувсво, я бы оставил эт как «галочку», т.к «растаскивание» пазлов ближе к реальности чем зарание раскиданные кусочки. Но вариант с раскидыванием обязательно должен быть.
                                                                                          0
                                                                                          Очень любопытно! Спасибо.

                                                                                          Белый фон — мешает немного иногда, тоже нужно иметь возможность менять.

                                                                                          PS: Девушка в душе — 74 минуты. :)
                                                                                            0
                                                                                            От это вы меня подсадили! Второй день в перерывах собираю :) Вы молодец!
                                                                                              0
                                                                                              tema@ЖЖ вчера забанил меня за квадратные светофоры и видимо параллельно за ссылку на «собрать Пазлус олайн». За светофоры ему должно быть стыдно!
                                                                                                0
                                                                                                Соори за путанье букв. Просидел сутки за 101 клавишной клавой…
                                                                                                  0
                                                                                                  И камент потер? Нехороший tema ^_^
                                                                                                    0
                                                                                                    Конечно потер, причем так лихо что даже «Комметарий удален» не осталось.
                                                                                                    Вобщем-то я понимаю его злость :) Он недавно нервниячал по поводу гарнитуры Artemius, то что она просочилась в сеть. У меня юзерпик нарисован его гарнитурой, текст — тот что и здесь.
                                                                                                  0
                                                                                                  Еще можно складывать паззлы с друзьями! Например сделать, чтобы одновременно несколько человек могли собирать паззл вместе. С другой стороны узкое место — скорость блокировки фишки, которую в данный момент кто-то тянет, но это стоит потестить… В общем, нормально это реализовать, чувствую, непросто, зато страсть как весело будет=)
                                                                                                    0
                                                                                                    Прямо не могу оторваться от ваших паззлов! И видно не я один — залил картинку с президентами, так ее за час 6 человек собрало. Жду рейтингов самых быстрых собирателей.
                                                                                                      0
                                                                                                      я вот к слову подумал — а было бы прикольно пособирать трехмерные (натуральные, руками) паззлы :)
                                                                                                      Например, берем шар и взрываем/разкалываем его на множество частей, тольно нужно, чтобы кусочки не резались (т.е. стекло не покатит), и неплохо бы, чтобы «прилипали» один к одному :) (но, теоретически, это возможно, если использовать какой-то намагничивающийся материал). Это был бы паззл на неделю (месяц?) :)
                                                                                                        0
                                                                                                        Жена пятый день безвылазно сидит на пазлах… Вчера подсадил и тещу :)

                                                                                                        Only users with full accounts can post comments. Log in, please.