Я пытаюсь нарисовать пулю в Моногаме с высокой скоростью. Когда я рисую его примерно на 400 пикселей/сек «Который довольно медленный», но около 1500 пикселей в секунду, он начинает «дублировать» или «ореовить» текстуру. Я довольно новичок в Monogame и не имею много знаний о Graphics.Быстро движущийся объект оставляет «призрак» след
Как я могу перемещать объект с высокой скоростью без создания эффекта «призрак»?
SpriteBatch Начало:
sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearWrap, DepthStencilState.None, RasterizerState.CullNone,
null, Global.Camera.GetViewTransformationMatrix());
Нарисовать Метод:
public override void Draw(SpriteBatch sb)
{
Vector2 origin = new Vector2(source.Width/2, source.Height/2);
Rectangle tRect = Bounds;
sb.Draw(
texture: TDTGame.GameAssets.Texture,
destinationRectangle: tRect,
sourceRectangle: source,
rotation: MathHelper.ToRadians(Rotation - 270f), //Set rotation to forward of the texture.
color: Color.White,
origin: origin,
layerDepth: 1f
);
}
Edit:
Youtube Ссылка: here
движение пули:
float traveledDistance;
public override void Update(GameTime gt)
{
float deltaTime = (float)gt.ElapsedGameTime.TotalSeconds;
traveledDistance += Speed * deltaTime;
Position += Forward * Speed * deltaTime;
if (traveledDistance > Range)
{
Destroy();
}
}
Вы можете опубликовать снимок экрана или видеоролик о ореоле? Возможно ли, что ореолы - это иллюзия. – craftworkgames
@craftworkgames Это похоже на иллюзию, поскольку, когда я записывался с более низкой частотой кадров, вы не видите след. Также захват его в неподвижном изображении «prntscrn» не показывал след. Любите MonoGame. Расширенная библиотека просто хочу сказать, что продолжайте работать! –
В таком случае, возможно, поиграйте с цветом фона и посмотрите, можете ли вы от него избавиться, или посмотрите на другие игры с быстро движущимися объектами и посмотрите, делают ли они что-нибудь интересное. – craftworkgames