Як частина моєї простої рамки розробки ігор 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). Проблема полягає в тому, що мені не зовсім зрозуміло переваги та недоліки обох форм поведінки (в розвитку ігор) - я не знаю, чому деякі рамки обрали одну, а не іншу.
Чи є суттєві відмінності, які я повинен врахувати?