キーを押す長さでプレイヤーのジャンプ力を変化させるように実装。
実装方法は単純で、ボタンが押されている間、カウンタを増加させて、ボタンが離されたら、その時のカウンタの値をジャンプ力として利用する。
int m_PressCount = 0; void func() { if ( g_pInput->GetPress(CTRL_SPACE) ) { // スペースキーが押されている ++m_PressCount; } if ( m_PressCount>0 && !g_pInput->GetPress(CTRL_SPACE) ) { Jump( m_PressCount ); // カウンタをパラメータにしてジャンプ m_PressCount = 0; } }
コードとしてはこんな感じ。
ただジャンプさせているだけでもボタンを押す長さでジャンプの挙動が毎回変わっていろいろな動きを見せるので面白い。あとは押す長さとジャンプ力のパラメータを調整して、操作感が心地いい感じにしたい。