Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
всем привет.
Есть карта игры которая генерится на лету из отдельных png`шек.
Столкнулся с тем, что конечное изображение не такое как задумано.
Куда копать?
использую следующие фун-и: -imagecreatetruecolor
-imagecolorallocatealpha
-imagecreatefrompng
-imagesavealpha
-imagecreate
-imagecopyresampled
-imagecopy
Может это из-за какой то функции? В документации ничего не нашел, или может чего-то не понял.
если нужно - выложу код Прикреплено изображение (Нажмите для увеличения)
Barakuda
Отправлено: 07 Мая, 2014 - 15:36:09
Гость
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
дерево Прикреплено изображение (Нажмите для увеличения)
Barakuda
Отправлено: 07 Мая, 2014 - 15:36:42
Гость
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
камень Прикреплено изображение
Barakuda
Отправлено: 07 Мая, 2014 - 16:53:59
Гость
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
нашел в чем проблема, она в использовании imagecreate вместо imagecreatetruecolor в двух местах, в виде подложки. Заменил, но теперь прозрачности нет, хоть и сохраняю её при помощи imagesavealpha... (Добавление)
вопрос закрыт, разобрался сам.
нужно было залить созданную кантинку прозрачным цветом
Покинул форум
Сообщений всего: 177
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Вы на php и js создаёте карту? Очень интересно просто..
DelphinPRO
Отправлено: 08 Мая, 2014 - 01:02:18
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Карту все же лучше рисовать яваскриптом на канве
----- Чем больше узнаю, тем больше я не знаю.
Barakuda
Отправлено: 08 Мая, 2014 - 01:22:49
Гость
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
IGORtrue пишет:
Вы на php и js создаёте карту? Очень интересно просто..
да. перепробовал много способов, этот пока что нахожу самым гибким.
При загрузке страницы делается аякс запрос, генерируется карта, сохраняется на сервере с зашифрованным именем. На страничке эта картинка подается в бэкграунд дива. Через три секунды новый аякс обновляет картинку и в кэлбеке обновляет фон дива. И так каждые три секунды. При переходе игроком на другую клетку один аякс обновляет данные сервера, другой аякс в кэлбеке снова обновляет фон.
Поверх этого фона, при помощи библиотеки svgJs накладываю эффекты...
Правда не знаю как это будет работать под нагрузкой. От флэша и прочего - отказался сразу, изначально хотел делать всё на чистом php, но со временем понял что этого мало )
Zuldek
Отправлено: 08 Мая, 2014 - 09:37:04
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
DelphinPRO пишет:
Карту все же лучше рисовать яваскриптом на канве
От задач зависит. Есть движки где в угоду простоте и производительности использются дивы и пых для графики.
Однако, в связи с взрывным ростом Webgl, WebSocket и связанных с ними технологий вместе с тоннами библиотек и готовых движков для них, походу за ними будущее
аяксы для таких задач риалтайма — деревянные костыли, как и подход к рендерингу ваш, в то время как Unrial Engine 3 на JS портирован давно:
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
Конечно я понимаю что есть технологии посвежее и более подходящие, и я понимаю что то, что делаю я тоже весьма дубово, но АвтоВАЗ на протяжении сорока лет делал машины из семидесятых, и скармливал их потребителям, вот и я делаю игру в силу своих возможностей
может со временем я её перекину на что-то более подходящее) но спасибо за советы )
DelphinPRO
Отправлено: 08 Мая, 2014 - 10:54:38
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Zuldek пишет:
От задач зависит.
в данном случае речь идет об игре. игра предполагает относительно большое число клиентов. Логично будет ресурсоемкие задачи отрисовки графики переложить на самих клиентов.
----- Чем больше узнаю, тем больше я не знаю.
Barakuda
Отправлено: 08 Мая, 2014 - 10:56:12
Гость
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
DelphinPRO пишет:
Логично будет ресурсоемкие задачи отрисовки графики переложить на самих клиентов.
Боюсь проблем с безопасностью
DelphinPRO
Отправлено: 08 Мая, 2014 - 11:14:38
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
какие могут быть проблемы безопасности при рисовании?
----- Чем больше узнаю, тем больше я не знаю.
Barakuda
Отправлено: 08 Мая, 2014 - 11:31:25
Гость
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
DelphinPRO пишет:
какие могут быть проблемы безопасности при рисовании?
подмена логина, и отрисовка не своей карты.
при добычи ресурсов - подмена количества ресурсов.
Zuldek
Отправлено: 08 Мая, 2014 - 11:31:32
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
DelphinPRO пишет:
в данном случае речь идет об игре. игра предполагает относительно большое число клиентов. Логично будет ресурсоемкие задачи отрисовки графики переложить на самих клиентов.
Дк кто ж спорит . Речь о том, что не всё на канвасах можно делать, и есть и подход с использованием div и их бэкграундов и готовые движки этот подход проповедующие. Из позитива — не нагружен клиент, а приоритеты уже исходя из конкретного проекта выбираются.
Если уж и отрисовывать сервером, то, как минимум, разово редактором карт и точно не gdшкой а imagick хотябы (Добавление)
Barakuda пишет:
подмена логина, и отрисовка не своей карты.
при добычи ресурсов - подмена количества ресурсов.
Тк на сервере проверяйте и всё. Или вы отдаёте карту с двумя цветками, надеясь что клиент их только 2 соберёт? Каждое действие проверять на законность
Покинул форум
Сообщений всего: 88
Дата рег-ции: Окт. 2012 Откуда: Одесса, украина
Помог: 0 раз(а)
ну в принципе да... вы правы, так как отрисовка занимает примерно 2-3 секунды серверного времени, я думал про оптимизацию... Нужно будет со временем заставлять клиентов рисовать...
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.