Class: Miyako::SpriteUnitFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/Miyako/API/spriteunit.rb

Overview

SpriteUnit生成ファクトリクラス

SpriteUnit構造体のインスタンスを生成するためのクラス

Constant Summary collapse

PARAMS =
[:bitmap, :ox, :oy, :ow, :oh, :x, :y, :cx, :cy]

Class Method Summary collapse

Class Method Details

.apply(unit, params) ⇒ Object

SpriteUnitの各アクセサに対応した値を設定する

(注)bitmapアクセサに値を設定する場合、ox,oy,ow,ohの値が自動的に、 bitmapに対応する値(ox=0,oy=0,ow=bitmap.w,oh=bitmap.h)が設定される unit: 設定対象のSpriteUnit構造体 params: 設定するSpriteUnit構造体の値。ハッシュ引数。引数のキーは、SpriteUnitのアクセサ名と同一


156
157
158
159
160
161
162
163
164
165
166
# File 'lib/Miyako/API/spriteunit.rb', line 156

def SpriteUnitFactory.apply(unit, params)
  if params && params.has_key?(:bitmap)
    unit.bitmap = params[:bitmap]
    unit.ox = 0
    unit.oy = 0
    unit.ow = unit.bitmap.w
    unit.oh = unit.bitmap.h
  end
  PARAMS.each{|prm| unit[prm] = params[prm] if params.has_key?(prm) } if params
  return unit 
end

.create(params = nil) ⇒ Object

SpriteUnitのインスタンスを生成する

params: 初期化するSpriteUnit構造体の値。ハッシュ引数。引数のキーは、SpriteUnitのアクセサ名と同一。省略可能


146
147
148
149
# File 'lib/Miyako/API/spriteunit.rb', line 146

def SpriteUnitFactory.create(params = nil)
  unit = SpriteUnit.new(nil, 0, 0, 0, 0, 0, 0, 0, 0)
  return SpriteUnitFactory.apply(unit, params)
end