5
สไปรต์เรนเดอร์พร่ามัวด้วยความเร็ว
หลังจากเพิ่มความเร็วให้กับเกมของฉันฉันรู้สึกว่าพื้นผิวของฉันกระตุก ฉันคิดว่ามันเป็นแค่ดวงตาของฉันจนกระทั่งในที่สุดฉันก็จับมันเป็นภาพหน้าจอ: ด้านซ้ายเป็นสิ่งที่แสดงในเกมของฉัน ด้านขวาคือสไปรต์ดั้งเดิมวางอยู่ (นี่เป็นภาพหน้าจอจาก Photoshop, ซูมเป็น 6x) สังเกตว่าขอบเป็นนามแฝง - ดูเหมือนว่าการเรนเดอร์พิกเซลย่อยเกือบจะเหมือนกัน ในความเป็นจริงถ้าฉันไม่ได้บังคับสไปรต์ของฉัน (ซึ่งมีตำแหน่งและความเร็วเป็น ints) เพื่อวาดโดยใช้ค่าจำนวนเต็มฉันจะสาบานว่า MonoGame กำลังวาดด้วยค่าจุดลอย แต่มันไม่ใช่ อะไรเป็นสาเหตุของสิ่งเหล่านี้ที่ปรากฏพร่ามัว มันจะไม่เกิดขึ้นหากไม่ใช้ความเร็ว เพื่อความแม่นยำSpriteComponentชั้นเรียนของฉันมีVector2 Positionทุ่งนา เมื่อฉันโทรDrawฉันใช้เป็นหลักnew Vector2((int)Math.Round(this.Position.X), (int)Math.Round(this.Position.Y))สำหรับตำแหน่ง ผมมีข้อผิดพลาดก่อนที่แม้แต่วัตถุนิ่งจะพร่ามัว - นั่นเป็นเพราะผมใช้ตรงเวกเตอร์และไม่ปัดเศษค่าที่จะPosition intsถ้าฉันใช้Floor/ Ceilingแทนการปัดไปรอบ ๆ sprite / hovers (หนึ่งพิกเซลต่างกัน) และยังคงพร่ามัว