С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567

Формат .png

10.11.2011, 18:28. Показов 2168. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Интересует следующий вопрос:
Как в этом формате хранят несколько скинов и в дальнейшем используют их?
Скажем в одном .png фале хранится скин предмета1, предмета2, предмета3 и причем все они разного размера(все бы было ясно если размер был один)
Приходит в голову тока хранение их расположения в отдельном файле.
В качестве примера покажу файл из Angry Birds.

Спасибо
Миниатюры
Формат .png  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2011, 18:28
Ответы с готовыми решениями:

Формат png изображения
Здравствуйте. Мне нужно считать с картинки формата png значения цветов rgb и соответственно значение альфа канала. Открывал картину в...

Изображения в PNG
Пишу загрузчик PNG изображений. Для чего ? Не суть. на данный момент, корректно отрабатывает загрузка: 8-ми и 16-ти битные RGB...

Информация в PNG
Здравствуйте. Сори, если не в том разделе. Вопрос такой, если на компьютере(винда 7) в фотошопе нарисовать картинку, потом сохранить ее в...

9
 Аватар для ImAlexSmith
325 / 114 / 7
Регистрация: 01.05.2011
Сообщений: 283
Записей в блоге: 3
10.11.2011, 19:40
как идея...
когда мы в игре создаем новый объект, то указываем ему характеристики такие, как
1)Координаты левого верхнего угла первого рисунка
2)Координаты правого нижнего угла последнего рисунка
3)Количество фреймом
4)Ориентация

все, дальше уже можно зашить в код все расчеты
мой пример, писанный для моих нужд (правда в одном файле один объект, но можно смысл понять)
C#
1
2
3
4
5
6
7
8
9
        public void LoadTexture(ContentManager content, String textureName)
        {
            this.Picture = content.Load<Texture2D>(textureName);
            this.FrameCount = new Vector2(1, 5);
            this.FrameCurrent = new Vector2(1, 1);
 
            this.Size_X = Convert.ToInt32(this.Picture.Width / this.FrameCount.X);
            this.Size_Y =  Convert.ToInt32(this.Picture.Height / this.FrameCount.Y);
        }
this.Picture.Width и this.Picture.Height будем считать из заданных выше координат
ну это только как вариант)
1
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
10.11.2011, 20:04  [ТС]
В файле скины разного размера
Если бы все были бы одинаковые, то проблем бы не было

Добавлено через 3 минуты
P.S.
Я понял твою идею, неудобно будет определять координаты капаясь в рисунке, но другого видать выхода и нет.
Я просто думал, вдруг там есть фишка со слоями

Добавлено через 30 секунд
Давно с XNA работаешь?
0
 Аватар для ImAlexSmith
325 / 114 / 7
Регистрация: 01.05.2011
Сообщений: 283
Записей в блоге: 3
10.11.2011, 20:18
ну те
размер одного кадра.Х=(последний кадр.Х - первый кадр.Х) / колво кадров.Х
тоже самое для У. И даже ориентация не нужна
Да и капаться вроде не надо, на этапе создания ЭК указал нужные характерситики, а потом только "куррентФрейм" меняешь, он сам и найдет, и нарисует)

Добавлено через 1 минуту

Не по теме:

Первый раз в глаза увидел в мае, потрашить начал в сентябре)

0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
10.11.2011, 20:45  [ТС]
Ты уверен что то говоришь?
1-ый кадр может быть 100px, второй 120, третий 20 и тд...
И как ты собираешься определить область, которую необходимо взять?

Добавлено через 2 минуты
В той же AngryBirds картинке что я прикрепил, кадры разбросаны по всюду, и явно их координаты привязаны при помощи дополнительного файла.
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
10.11.2011, 20:48
John_Pa9JIbHuK, я не знаю, как именно потом будет использоваться этот спрайт-лист - то есть картинка, но лучше ее разбить на отдельные части, где все изображения будут одинакового размера
0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
10.11.2011, 20:51  [ТС]
Ща глянул на самом деле рядом с изображением так же лежит файл INGAME_BIRDS_1.dat, в нем то наверное и хранятся эти данные.

Добавлено через 3 минуты
Цитата Сообщение от Eugene22 Посмотреть сообщение
John_Pa9JIbHuK, я не знаю, как именно потом будет использоваться этот спрайт-лист - то есть картинка, но лучше ее разбить на отдельные части, где все изображения будут одинакового размера
Я согласен, но было интересно если спрайты разного размера, и как стало ясно, делается это при вспомогательного файла, но теперь встал вопрос: при помощи какой программы, можно такое сделать, не записывать же все руками)))
0
 Аватар для ImAlexSmith
325 / 114 / 7
Регистрация: 01.05.2011
Сообщений: 283
Записей в блоге: 3
10.11.2011, 21:07
Не, ну судя по этим картинкам, я думал кто одна анимация - один ряд(мб горизонтальный, а мб и вертикальный)...
ну тогда можно простой веткор описать, где один элемент - координаты кадра...
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
14.11.2011, 06:42
Вроде просто написать свой редактор, который стыкует их так, чтобы не налезали друг на друга, при добавлении новой картинки требовать введения её названия, потом сохранить это всё в общую картинку через rendertarget, а потом сериализовывать список всех картинок с их названиями и координатами в файл xml, например, и соответственно в игре десериализовывать, ручная работа не требуется.
0
444 / 348 / 32
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
09.01.2012, 22:06
Цитата Сообщение от John_Pa9JIbHuK Посмотреть сообщение
при помощи какой программы, можно такое сделать, не записывать же все руками)))
John_Pa9JIbHuK, вот говорил же что быстро пишутся такие проги. (за полдня - день)
самому понадобилось.
Демонстрация PictureJoinerSplitter
возможны баги.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2012, 22:06
Помогаю со студенческими работами здесь

Формат png в ИЕ 6
Столкнулась с такой проблемой, что в ИЕ не отображается прозрачность картинки в формате png. Это как-нибудь лечится или нет?

формат PNG
Доброго времени суток! Пишу курсовую, надо вставить в прогу пару рисунков в формате PNG. гуглил, чет ниче путевого не нашел, ...

формат png
Нужно создать просмотрщик изображений png без подключения библиотек и специальных компонент. Помогите кто чем может;) Размер картинки как...

Как подключить формат png?
как сделать так что бы к коспоненту SpeedButton ьожна подключить картинку формата png?

Сохранение шапки в формат PNG
У меня такая ситуация, не могу сохранить нарисованную шапку в формат png , сохраняется только в psd photoshop cs5 Подскажите что нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru