Как часть моей простой среды разработки игр на 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). Проблема в том, что мне не совсем понятны преимущества и недостатки обоих видов поведения (в разработке игр) - я не знаю, почему некоторые фреймворки выбрали один, а не другой.
Есть ли существенные различия, которые я должен рассмотреть?
источник