Là một phần của khung phát triển trò chơi Ruby 2D đơn giản của tôi, các đối tượng trò chơi của tôi có vị trí (giá trị x và y) và kích thước (chiều rộng và chiều cao).
class MyGameObject
attr_accessor :x
attr_accessor :y
attr_accessor :width
attr_accessor :height
...
Một cách tiếp cận khác mà tôi đã thấy là coi vị trí là một Point
cấu trúc và kích thước như một Size
cấu trúc:
Point = Struct.new(:x, :y)
Size = Struct.new(:width,:height)
class MyGameObject
attr_accessor :position # Point instance
attr_accessor :size # Size instance
...
Một số khung sử dụng trước đây (tôi nghĩ GDX, Gosu ...). Những người khác sử dụng cái sau (cocos2d-iphone). Vấn đề là, tôi không hoàn toàn rõ ràng về những lợi thế và bất lợi của cả hai hành vi (trong phát triển trò chơi) - Tôi không biết tại sao một số khung công tác lại chọn cái này mà không phải cái kia.
Có sự khác biệt đáng kể tôi nên xem xét?