ในฐานะที่เป็นส่วนหนึ่งของกรอบการพัฒนาเกม Ruby 2D ที่เรียบง่ายวัตถุในเกมของฉันมีตำแหน่ง (ค่า x และ y) และขนาด (ความกว้างและความสูง)
class MyGameObject
attr_accessor :x
attr_accessor :y
attr_accessor :width
attr_accessor :height
...
อีกวิธีที่ฉันเห็นคือรักษาตำแหน่งเป็นPoint
โครงสร้างและขนาดเป็นSize
โครงสร้าง:
Point = Struct.new(:x, :y)
Size = Struct.new(:width,:height)
class MyGameObject
attr_accessor :position # Point instance
attr_accessor :size # Size instance
...
เฟรมเวิร์กบางตัวใช้เฟรมก่อน (ฉันคิดว่า GDX, Gosu ... ) อื่น ๆ ใช้หลัง (cocos2d-iphone) ปัญหาคือมันไม่ชัดเจนสำหรับฉันถึงข้อดีและข้อเสียของทั้งสองพฤติกรรม (ในการพัฒนาเกม) - ฉันไม่รู้ว่าทำไมกรอบบางอันเลือกหนึ่งและไม่ใช่อีกอย่าง
ฉันควรพิจารณาความแตกต่างอย่างมีนัยสำคัญหรือไม่