RGSS2を知る(14)
気が付いたらもう14回目。
RGSS2がよくわかってきたような気はあんまりしない。
今回はViewportのフラッシュについて。
以下のコードを実行すると、指定時間が違うのにどちらも同時に消える。
v1 = Viewport.new(0,0,400,300) v2 = Viewport.new(100,100,400,300) v1.flash(Color.new(255,255,255), 255) v2.flash(Color.new(255,255,255), 600) loop do v1.update v2.update Graphics.update end
どうやら指定時間と経過時間の割合からαを算出するのではなく、毎フレームαから1減らしているらしい。
このようなコードに書き換えても同時に消える。
v1 = Viewport.new(0,0,400,300) v2 = Viewport.new(100,100,400,300) v1.flash(Color.new(255,255,255,128), 128) v2.flash(Color.new(255,255,255,128), 600) loop do v1.update v2.update Graphics.update end
つまり、フレーム数の指定は指定色のαがMAXとなる。
colorプロパティを指定して、600フレームnilフラッシュさせると10秒後に出てくるから、カウントはしているようだ。
これは仕様なのかバグなのか。
こういうのも再現しないといけないとなると面倒だが、どうしたもんだろう。