Происхождение анимации работает неправильно Monogame 3.0

Я работал над новой игрой и только что добавил свою первую анимацию — взрыв.

Проблема вот в чем. Спрайт-лист взрывов имеет размер 1200x100 и состоит из 12 кадров размером 100x100. Взрыв анимируется нормально, ЗА ИСКЛЮЧЕНИЕМ того, что источник ведет себя странно. Я хочу, чтобы взрыв был в центре, поэтому я указываю 50, 50, как я делал в предыдущих играх в прошлом. Это центрируется в направлении Y, но в направлении X оно лишь немного сместилось.

После некоторой возни я заметил, что если я поставлю начало координат равным 600, 50 (половина ширины спрайт-листа), он правильно центрируется. Это не имеет никакого смысла. Я использовал этот код анимации раньше и никогда не сталкивался с этой проблемой. Я удостоверился, что все значения передаются правильно, и прямоугольники назначения и источника выглядят правильными... Я ПОЛУЧЕН!!

Я протестировал Monogame, и между XNA и Monogame что-то происходит. Я сделал этот образец для тех, кто заинтересован в загрузке и проверке для себя. Как вы увидите, в версии XNA черная точка находится посередине, как и должно быть, но в версии для моноигры она далеко не по центру.

Не уверен, что вызывает это. Отличия прямоугольника или spritebatch.draw? или, возможно, это способ обработки текстур с использованием проекта содержимого моноигры. Любая помощь приветствуется!!!

Для запуска вам потребуется установить xna 4.0, а также monogame 3.0 http://www.filedropper.com/testanimation< /а>

http://monogame.codeplex.com/releases/view/102870


person Hardycore    schedule 05.03.2013    source источник
comment
Вы используете MonoGame или XNA? Идентично ли поведение в обоих случаях? Я полагаю, что происхождение должно быть взято из исходного прямоугольника, так что это может быть ошибкой в ​​​​MonoGame. Было бы удивительно найти такой баг в MonoGame, но все же.   -  person Asik    schedule 05.03.2013
comment
Использование моногейма. Последнее, о чем я подумал, это то, что, возможно, это была ошибка моноигры. Хотя, как я уже сказал, прямоугольники выглядят правильно, и, как вы сказали, было бы удивительно найти что-то подобное. Я все равно проверю, потому что старая игра, с которой он отлично работает, была XNA.   -  person Hardycore    schedule 05.03.2013
comment
Что делает метод Animation.Initialize?   -  person craftworkgames    schedule 06.03.2013
comment
Выложил код инициализации вместе с конструкторами, хотя, как вы увидите, здесь не происходит ничего особенно интересного. Я собираюсь протестировать код с помощью XNA вместо моногейма и посмотреть, что из этого получится. Отчитаюсь!   -  person Hardycore    schedule 06.03.2013
comment
Я собрал тестовый файл, который каждый может скачать и лично убедиться в том, что я испытываю.   -  person Hardycore    schedule 06.03.2013


Ответы (1)


Ну я разобрался!

Кажется, это была проблема с конструктором контента в выпуске моноигры 3.0. Сегодня вышел релиз 3.0.1, поэтому я удалил 3.0 и установил 3.0.1.

Затем я запустил проект, проблема все еще оставалась. Итак, я открыл свой контент-проект, пересобрал весь свой контент, скопировал файлы и повторил попытку, проблема решена !!! :D

TY Доктор Асик за то, что подтолкнул меня в правильном направлении! :)

person Hardycore    schedule 06.03.2013