วิธีการที่ใช้ประโยชน์ได้จริงในการนำกล้อง / วิวพอร์ตไปใช้กับเกม 2D คืออะไร?
ฉันได้อ่านแล้วฉันควรจะเก็บตำแหน่งของวัตถุในโลกแทนตำแหน่งที่สัมพันธ์กับหน้าจอหรือไม่?
สถานการณ์ปัจจุบัน:
ฉันใช้เกม 2D ง่าย ๆ ที่ฉันโหลดวัตถุและระดับจากไฟล์ XML ปัจจุบันไฟล์ XML ระดับมีลักษณะดังนี้:
<map>
<tile obj="ground" x="0" y="555" />
<tile obj="ground" x="16" y="555" />
<tile obj="ground" x="32" y="555" />
...
</map>
วัตถุทั้งหมดมี 2d-vector "position" ที่เก็บตำแหน่งปัจจุบันของพวกเขาบนหน้าจอ
สิ่งที่ฉันต้องการให้เป็น:
ในรูปภาพ:
- กล้องมีทั้งแบบ 800x600 หรือ 640x480
- บล็อกและสไปรต์คือ 16x16 พิกเซล
- ขนาดโลกอาจแตกต่างกันไป
- พิกัดที่ควรจะเป็นมาตรฐานเมื่อเทียบกับโลกไม่ใช่ที่หน้าจอ?
- ตำแหน่งวิวพอร์ตที่สัมพันธ์กับ x, y ของผู้เล่นและเคลื่อนไหวเมื่อผู้เล่นมาถึงบริเวณที่กล้องตาย (คล้ายกับวิดีโอนี้ )
ฉันขอตัวอย่าง / บทความหลอก ๆ แต่ถ้าคุณจำเป็นต้องรู้ว่าฉันใช้อะไรในการพัฒนา: SDL & C / C ++