Я пытаюсь использовать SpriteSheet для запуска анимации. Мои кадры размером 320x480 каждый, поэтому я могу разместить до 6 кадров на изображении текстуры. Но моя анимация состоит из числа кадров в диапазоне от 50 до 200, и все они имеют размер 320x480. Но это количество кадров не может быть добавлено на изображении текстуры, так как размер ограничен 1024x1024. Есть ли другой подход, который я могу попробовать. Могу ли я играть одну анимацию после другой. И не будет ли это препятствовать производительности. Пожалуйста, мне нужны предложения. Лучший, Vaibhav Tekam.Cocos2D Проблема с анимацией SpriteSheet, количество кадров намного больше
ответ
Ух, вы пройдете мимо того, что устройство может обрабатывать! Вам придется пересмотреть то, что вы пытаетесь достичь, и как его достичь. Позволь мне объяснить.
Для каждой текстуры 1024x1024 с 32-битными цветами требуется 4 МБ памяти. Если вам нужна анимация спрайтов, состоящая из 60 полноэкранных спрайтов, вам нужно 10 таких текстур. Это составляет 40 МБ памяти. Или 120 МБ для вашего сценария с верхним регистром с 180 кадрами анимации.
Имейте в виду, что у модулей памяти iOS на 128 МБ памяти объемом около 30 МБ доступно для вашего приложения, самое большее и в идеальных условиях. Вы начнете сталкиваться с проблемами памяти только с пятью текстурами 1024x1024. У устройств на 256 МБ все еще есть только около 100 МБ для вашего приложения.
Так как это должна быть анимация, это также не возможность загружать одну текстуру, а после каждого 6-го изображения удалять эту текстуру и загружать следующую. Загрузка текстуры 1024x1024 в память занимает около 1-3 секунд в зависимости от устройства. В течение этого времени ваше приложение будет безответственным.
Итак, как можно было бы запустить фильм с Cocos2D? Я имею в виду большую анимацию в полноэкранном режиме. – Samuel
Воспроизведение фильма mpeg-4/mp4 с AVPlayer – LearnCocos2D
Можете ли вы предоставить мне больше информации об этом подходе к AVPlayer? Он совместим с любой платформой (Android, iOS и т. Д.)? (все тексты, которые я нашел об этом, были связаны с игрой в iOS) – Samuel
- 1. Iphone Cocos2D - SpriteSheet Cocos2D (так запутано ...)
- 2. Экспорт spritesheet для cocos2d
- 3. Cocos2D: Базовая анимация от spritesheet
- 4. Cocos2d Spritesheet не загружается (spriteWithSpriteFrameName)
- 5. Cocos2d синхронизирует спрайт с анимацией другого спрайта
- 6. Проблема с анимацией слоя Parallax в Cocos2d-iPhone
- 7. удалить ccmenuitem с анимацией Cocos2D
- 8. Cocos2D iPad Создание веб-сайтов Sprites/Spritesheet
- 9. Cocos2D - обновление кэша кадров?
- 10. Отладка проекта cocos2d SpriteSheet-Unpacker - Закрыто
- 11. Spritesheet анимация с масштабными кадрами
- 12. Проблема с анимацией libgdx
- 13. позиция: фиксированный беспорядок с анимацией ключевых кадров
- 14. Проблемы с независимой анимацией кадров частоты
- 15. Android - проблема с анимацией
- 16. Проблема с линейной анимацией
- 17. Проблема с анимацией UITableView
- 18. Проблема с временной анимацией
- 19. Проблема с анимацией MPVolumeView
- 20. Проблема с анимацией: Титан
- 21. Разочарованная проблема с анимацией
- 22. Проблема с анимацией jQuery
- 23. Проблема с анимацией качания?
- 24. D3 проблема с анимацией
- 25. Проблема с анимацией jquery
- 26. Проблема с анимацией CALayer
- 27. Проблема с анимацией SceneKit
- 28. Проблема с анимацией ограничений
- 29. Проблема с анимацией Silverlight
- 30. Проблема с анимацией - jQuery
Мне непонятно, что вы пытаетесь сделать. Когда вы пишете «Мои кадры 320x480», вы имеете в виду ваши спрайты? У вас есть 50-200 различных спрайтов 320x480, которые нужно отображать в одном кадре? Кажется очень. Вы знаете, что у вас может быть несколько спрайтов, каждый со своими спрайтами? Что вам нужно оживить? Вы пытаетесь сыграть в кино или что-то еще? Просьба уточнить, что вы пытаетесь сделать. Возможно, некоторые примеры кода тоже могут помочь. – nash