Разработка игр, странный эффект изображения при перемещении камеры

Я разрабатываю 2D-игру Side Scroll, используя AndEngine

Изображение игры

Я использую их расширение SVG (я использую векторную графику)

Но я обнаружил странный и уродливый эффект, перемещая мой плеер (в то время как камера точно преследует игрока, означает, что камера меняет свое положение)

Изображения моих спрайтов выглядят просто по-разному, они похожи на размытые или есть эффект, подобный тем, что изображения будут перемещаться (не изменяя их свойства, просто дрожащий эффект, очень трудно объяснить и называть этот эффект должным образом) Надеюсь, этот образ может немного объяснить это :

Игровое изображение 2

Его более или менее, как он выглядит в игре, где:

A) Изображение «FIRST» показывает квадрат, в то время как игрок движется (CAMERA нет), изображение выглядит так, как должно

Б) «ВТОРОЕ» одно и то же изображение, но с этим странным эффектом », который выглядит как движущееся / размытое изображение во время движения камеры [преследующий игрока])

Мой друг сказал мне, что это может быть проблема с оборудованием:

«Размытие, которое вы заметили, на самом деле является проблемой аппаратного обеспечения. Некоторые телефоны« сглаживают »содержимое на экране, чтобы лучше прикоснуться к приложениям. Я не знаю, является ли это экраном или графическим процессором, но этого не происходит На Samsung Captivate моей жены. Это происходит на моей Atrix и Xoom, хотя это действительно примечательно в Xoom из-за большого размера экрана ».

Но, похоже, есть способ предотвратить это, так как я тестировал много подобных игр, где камера преследует игрока, и я не заметил такого эффекта.

Есть ли способ отключить это в коде?


Я благодарен за предыдущие ответы, к сожалению, все еще существует проблема.

До сих пор я пробовал:

  • Casting (int) в методе setCenter, который выполняется на updateChaseEntity
  • Тестирование игры с использованием изображений PNG, вместо расширения SVG и векторной графики
  • Разные TextureOptions
  • аппаратное ускорение

Если у кого-то другая идея, что может вызвать этот странный эффект, я буду очень благодарен за помощь – спасибо.

Solutions Collecting From Web of "Разработка игр, странный эффект изображения при перемещении камеры"

Некоторые устройства (Xperia Play) разливают всюду, пытаясь нарисовать вещи, которые быстро движутся. Например, красный значок в списке приложений оставляет размытие за ним. Вы можете попробовать hardwareAcceleration в манифесте (вкл. И выкл.), Чтобы узнать, имеет ли это значение.

Вероятно, вы получите тот же эффект, если не используете svg

Когда ваш игрок просто идет вправо и камера начинает преследовать его, все остальные спрайты, кроме игрока, двигаются влево. Попробуйте распечатать абсолютные координаты вашего «размытия» спрайта (или некоторых его опорных точек) в журнале. X-координата спрайта должна линейно уменьшаться. Если вы заметили, что оно увеличивается несколько раз, это может быть причиной размытия.

Надеюсь, это поможет.

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

Я не знаком с этим движком, но мне интересно, почему вы используете векторную графику для пиксельного стиля. Я буду удивлен, если ваш персонаж на скриншоте – это векторное искусство … может быть, это текстура, импортированная в SVG? Я попытался вернуться в день, чтобы использовать вспышку несколько раз, и я делал ту же ошибку … Я не говорю, что это невозможно, но не предназначено для создания пиксельного искусства со вспышкой или любым другим векторным программным обеспечением. Существует причина, по которой большинство флеш-игр имеют похожий вид.

Лучший способ отладить его – попробовать другой взгляд спрайта. Возможно, это просто медленное время отклика вашего устройства. Я также разработчик Andengine и никогда не видел такого поведения.

Иногда вы исправляете дрожание с помощью FixedStepEngine, это может помочь.

Если вы можете опубликовать свой код, возможно, мы сможем вам помочь.