W ramach mojego prostego środowiska programowania gier Ruby 2D moje obiekty mają pozycję (wartości xiy) oraz rozmiar (szerokość i wysokość).
class MyGameObject
attr_accessor :x
attr_accessor :y
attr_accessor :width
attr_accessor :height
...
Innym podejściem, które widziałem, było traktowanie pozycji jako Point
struktury, a wielkości jako Size
struktury:
Point = Struct.new(:x, :y)
Size = Struct.new(:width,:height)
class MyGameObject
attr_accessor :position # Point instance
attr_accessor :size # Size instance
...
Niektóre frameworki używają tych pierwszych (myślę, że GDX, Gosu ...). Inni używają tego drugiego (cocos2d-iphone). Problem polega na tym, że nie jest dla mnie całkowicie jasne zalety i wady obu zachowań (w rozwoju gier) - nie wiem, dlaczego niektóre frameworki wybrały jedno, a nie drugie.
Czy są jakieś istotne różnice, które powinienem wziąć pod uwagę?
źródło