Method: Bayonetta::KeyFrameInterpolate#value

Defined in:
lib/bayonetta/mot.rb

#value(frame_index) ⇒ Object



120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/bayonetta/mot.rb', line 120

def value(frame_index)
  kfis = key_frame_indexes
  if frame_index <= kfis.first
    return get_p(0)
  elsif frame_index >= kfis.last
    return get_p(kfis.length - 1)
  else
    kfis.each_cons(2).each_with_index { |(start_index, stop_index), i|
      if frame_index <= stop_index && frame_index >= start_index
        return interpol(frame_index, start_index, stop_index, i)
      end
    }
  end
end