ゲームセカイ
ゲームセカイ

ゲーム攻略やプレイ日記、レビューがメインのブログです。

はじめてゲームプログラミング 「ジャンプ台」の作り方

『つくってわかる はじめてゲームプログラミング』で、「ジャンプ台」を作る方法についてのメモです。

アクション系のゲームでは、キャラクターを空中に跳ね上げる「ジャンプ台」が登場することがあります。

今回は、通常のジャンプより高く「ヒト」を飛ばせるギミックを作ってみます。

はじめてゲームプログラミング ジャンプ台

「スライド連結」の設定方法

まずは、「ジャンプ台」の基本動作から作成していきます。

「ヒトノードン」や「カメラノードン」の基本操作に関しては、省略します。
 

プログラム画面で、「直方体」を2個と、「スライドれんけつ」の「Yスライド」を呼び出しましょう。

    用意するノードン      分類 
直方体 モノ
Yスライド モノ

 
「直方体」の一つは、ジャンプ台の「土台」として使用します。

設定画面を開き、「動く・こわれる・こわす」を、OFFに。

土台部分は、動かないように固定されている点が重要で、「見える・当たる」の設定に関しては、どちらでも問題ありません。

この土台を、「Yスライド」の「下の連結ポート」と連結します。

はじめてゲームプログラミング 直方体 スライド

 
もう一方の「直方体」は、「ヒト」を空中に飛ばす、「踏み台」になります。

設定画面を開き、「ふるまい」の「見える・当たる・動く」だけを、ONに。

「れんけつ面」を「自分:Y- 連結先:Y+」に変更します。

こちらは、「Yスライド」の「上の連結ポート」に連結します。

 
「直方体」は、「ヒト」が飛び乗りやすい幅・高さであれば、好きなサイズでOKです。

二つの直方体を繋ぐ「Yスライド」が、ジャンプ台の「バネ」の役割を果たしますが、現段階では、まだ動作しません。

「さわっているセンサー」の設定方法

次は、「ヒト」が乗ったら「ジャンプ台」が作動するように、修正を加えていきます。

プログラム画面に、「さわっているセンサー」を追加します。

    追加するノードン      分類 
さわっているセンサー モノ

 
「さわっているセンサー」の出力を、「Yスライド」の入力ポートに接続しましょう。

 
センサーの形は「直方体」、出力するタイミングは「さわっていたらずっと」の設定です。

「何をチェックする?」の項目は、「ヒト」のみを選択。

はじめてゲームプログラミング さわっているセンサー

センサーの大きさは、「ヒト」が「ジャンプ台」に乗った時に接触するサイズに調整します。

Y(高さ)が大きすぎると、「ヒト」が乗る前に反応してしまうため、注意が必要です。
 

センサーは、位置さえ合わせれば、必ずしも連結させる必要はありませんが、連結する場合は、「土台」の直方体に繋げます。

動く方の直方体に連結すると、ジャンプ台の作動時、センサーまで一緒に移動してしまうため、正常に動作しなくなります。
 

これで、一応は、「ジャンプ台」が機能するようになりました。

ただし、まだ十分な高さまで、「ヒト」を飛ばすことはできません。

「ジャンプ台」の調整

「さわっているセンサー」は、何もなければ「0」を、チェック対象の「モノ」が触れると、「1」を出力します。

現状では、「Yスライド」に送られる値が「1」になるため、「踏み台」が、1mしか上昇しません。
 

そこで、プログラム画面に、「定数」と「けいさん (×)」を呼び出します。

    追加するノードン      分類 
定数 入力
けいさん (×) 中間

 
「さわっているセンサー」と「Y スライド」の接続を解除し、「けいさん(×)」の入力ポートに繋ぎ直します。

「定数」は、とりあえず「3」に変更し、「けいさん(×)」の、もう一方の入力ポートに接続。

はじめてゲームプログラミング ジャンプ台

そして、「けいさん(×)」の出力ポートを、「Y スライド」の入力に繋げます。
 

「定数」は、スライドの移動量を決定する値で、ジャンプ台の「バネの強さ」と言い換えることもできます。

センサー反応時、「Y スライド」に「3」が送信されるので、以前より高くジャンプできるはずですが…ゲーム画面で確認すると、それほど大きな変化は見られないと思います。

現状では、さらに「定数」の値を増やしても、効果がないはずです。
 

これは、「ジャンプ台」の作動時、急上昇した「ヒト」が「さわっているセンサー」から離れるため、「スライド」が一瞬で元の状態に戻ってしまうことが原因となっています。

そこで、台に乗った「ヒト」がセンサーから離れた後も、少しの間だけ、「Y スライド」に値が送信されるように手を加えます。
 

プログラム画面に、「タイマーノードン」を呼び出しましょう。

    追加するノードン      分類 
タイマー 中間

 
「さわっているセンサー」の出力を、「タイマー」の入力ポートに繋げ直します。

「タイマー」の出力は、「けいさん(×)」の入力ポートに接続します。

はじめてゲームプログラミング ジャンプ台

「タイマー」の設定画面を開き、「何秒後に出力するか」を「0」に設定。

「出力しつづける秒数」は、「0.1」に変更します。
 

これで、「ジャンプ台」が作動すると、0.1秒間は、「Y スライド」に値が送信されるようになりました。

「定数」を、自分の好きな値に調整すれば、「ジャンプ台」の完成です。

はじめてゲームプログラミング ジャンプ台

50m、100mといった高さにも対応しているので、設定次第で、はるか上空まで「ヒト」を打ち上げることができます。

スポンサーリンク