Sebagai bagian dari kerangka kerja pengembangan game Ruby 2D yang sederhana, objek permainan saya memiliki posisi (nilai x dan y) dan ukuran (lebar dan tinggi).
class MyGameObject
attr_accessor :x
attr_accessor :y
attr_accessor :width
attr_accessor :height
...
Pendekatan lain yang saya lihat adalah memperlakukan posisi sebagai Point
struktur, dan ukuran sebagai Size
struktur:
Point = Struct.new(:x, :y)
Size = Struct.new(:width,:height)
class MyGameObject
attr_accessor :position # Point instance
attr_accessor :size # Size instance
...
Beberapa kerangka kerja menggunakan yang pertama (saya pikir GDX, Gosu ...). Lainnya menggunakan yang terakhir (cocos2d-iphone). Masalahnya adalah, tidak sepenuhnya jelas bagi saya keuntungan dan kerugian dari kedua perilaku (dalam pengembangan game) - Saya tidak tahu mengapa beberapa kerangka kerja memilih satu dan bukan yang lain.
Apakah ada perbedaan signifikan yang harus saya pertimbangkan?