Come parte del mio semplice framework di sviluppo di giochi in Ruby 2D, i miei oggetti di gioco hanno posizione (valori xey) e dimensioni (larghezza e altezza).
class MyGameObject
attr_accessor :x
attr_accessor :y
attr_accessor :width
attr_accessor :height
...
Un altro approccio che ho visto è stato trattare la posizione come una Point
struttura e le dimensioni come una Size
struttura:
Point = Struct.new(:x, :y)
Size = Struct.new(:width,:height)
class MyGameObject
attr_accessor :position # Point instance
attr_accessor :size # Size instance
...
Alcuni framework usano il primo (penso GDX, Gosu ...). Altri usano quest'ultimo (cocos2d-iphone). Il problema è che non mi è del tutto chiaro i vantaggi e gli svantaggi di entrambi i comportamenti (nello sviluppo del gioco) - Non so perché alcuni framework abbiano scelto l'uno e non l'altro.
Ci sono differenze significative che dovrei considerare?