Oyunuma hız ekledikten sonra, dokularımın seğirdiğini hissediyorum. Sonunda bir ekran görüntüsünde yakalayana kadar bunun sadece gözlerim olduğunu düşündüm:
Soldaki oyunumda ortaya çıkan şey; sağdaki yapıştırılan orijinal hareketli grafiktir. (Bu, Photoshop'un 6x yakınlaştırılmış bir ekran görüntüsüdür.)
Kenarların takma adı olduğuna dikkat edin - neredeyse alt piksel oluşturmaya benziyor. Aslında, spritelarımı (konum ve hızları ints olarak) tamsayı değerleri kullanarak çizmeye zorlamasaydım, MonoGame'in kayan nokta değerleri ile çizim yaptığına yemin ederim. Ama değil.
Bu tür şeylerin bulanık görünmesinin nedeni ne olabilir? Hız uygulanmadan gerçekleşmez.
Kesin olmak gerekirse, SpriteComponent
sınıfımın bir Vector2 Position
alanı var. Ben çağırdığınızda Draw
, ben aslında kullanmak new Vector2((int)Math.Round(this.Position.X), (int)Math.Round(this.Position.Y))
pozisyon için.
Daha önce sabit nesnelerin bile titremesi gereken bir hata vardı - bu, düz Position
vektörü kullanarak ve değerleri yuvarlamamdan kaynaklanıyordu ints
. Eğer yuvarlak yerine Floor
/ Ceiling
kullanırsam, hareketli grafik / asılı durur (her iki yönde bir piksel farkı) ama yine de bulanıklaşır.