素早く落とそう †ここでテストをする上でも落下するまで待つというのはとてもじれったいので, さっさと高速落下を実装してしまおう. 高速落下の実装はとても簡単で,can_fall?メソッドで得られた落下可能距離を1フレームあたりの落下距離に制限するさい,入力があれば少し大きい値に制限してあげればよい. class Field def update_control_block_move_y(iff) fall_y = @ctrl_block.can_falldown?(@table, @block_s) Debug.print fall_y if fall_y > 0 # fall speed = iff ? 6 : 0.8 @ctrl_block.falldown(fall_y > speed ? speed : fall_y) elsif fall_y < 0 # dent @ctrl_block.fix_dent(-fall_y) else # postpone or land if !iff && @ctrl_block.postpone? @ctrl_block.update_postpone else control_block_land return false end end return true end end 引数のiffは高速落下のキーが押されていればtrue,そうでなければfalseが入っている. あとはiffに応じて落下速度を変えればよいだけ. 実行 †実に快適にテストプレイができる. Loading the player ...
|