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

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

はじめてゲームプログラミング 「ヒトノードン」に複数のアクションを設定する方法

『つくってわかる はじめてゲームプログラミング』で、「ヒトノードン」に複数のアクションを設定する方法についてのメモです。

「ヒトノードン」には、4種類のアクションが用意されていますが、初期設定では、1種類しか選べません。

プログラムを工夫することで、それぞれのアクションをボタンに割り当て、実行させることができます。

はじめてゲームプログラミング ヒトノードン アクション

「ヒトノードン」にアクションを設定する方法

以下、「ナビつきレッスン」の基本的な部分は習得済みであることが前提となります。

「ヒト」の操作や「カメラ」の設定方法に関しては、説明を省略します。

 
「キャラクター」の「ヒトノードン」にアクションを実行させるには、入力ポートの「アクション」に、シグナルを送る必要があります。

    用意するノードン      分類 
ヒトノードン モノ
ボタンノードン 入力

 
試しに、プログラム画面に「ボタンノードン」の「Y」を呼び出して、「ヒトノードン」の「アクション」に接続しましょう。

はじめてゲームプログラミング ヒト アクション

ゲーム画面に移って「Yボタン」を押すと、キャラクターが右手を突き上げる「やったぜ」のポーズを取るはずです。

 
アクションを変えたい時は、「ヒトノードン」の設定画面で「アクション」を開き、「パンチ」や「キック」を選択します。

「ヒトノードン」に複数のアクションを設定する方法

「ヒトノードン」の動作を確認できたら、今度は、ボタンによって異なるアクションを実行できるようにプログラムを変更します。

「アクション」の内容を変更した場合は、「やったぜ」に戻しておきます。

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

 
新たに、プログラム画面に「ボタンノードン」の「A」を追加しましょう。

このまま「A」を「ヒトノードン」の「アクション」に接続すると、「A」と「Y」、どちらのボタンを押しても、同じアクションを実行してしまいます。

 
そこで、「けいさん」の「×」と、「定数」ノードンを追加。

ボタン「A」を、「×」の入力ポートに繋げます。

「定数」は、値を「3」に設定して、「×」の、もう一方の入力ポートに接続。

はじめてゲームプログラミング ヒト アクション

さらに、「×」の出力と、「ヒトノードン」の「アクション」を接続します。

 
この状態でゲーム画面に移ると、「Yボタン」で「やったぜ」、「Aボタン」で「パンチ」を実行できるようになっているはずです。

4種類のアクションをボタンに割り当てる方法

もともと「ヒトノードン」は、「アクション」のポートに入力された数値によって、動作が変わる仕組みになっています。

入力値とアクションの関係は、以下の通りです。

 入力      アクションの種類    
1 「アクション」で設定された動作
2 やったぜ
3 パンチ
4 キック
5 ターン

 
「ボタンノードン」は、押されると「1」を出力します。

最初の例で、「Yボタン」が「やったぜ」になったのは、「アクション」ポートに「1」を受信した「ヒトノードン」が、「設定された動作」を実行したためです。

また、「Aボタン」で「パンチ」を撃てたのは、「Aボタンノードン」の出力「1」に、「3」を掛けたことによります。

 
他のアクションも使いたい場合は、好きなボタンノードンを追加し、「4」や「5」といった定数と掛け合わせて、計算の出力を「アクション」に接続すればOKです。

「マッピングノードン」を使った出力方法

ボタンの出力結果の「掛け算」に関して、計算の「×」ではなく、「へんかん」の「マッピングノードン」を使用する方法もあります。

    追加するノードン      分類 
マッピングノードン 中間

 
「マッピングノードン」は、入力された数値を、特定の値に変換するノードンです。

はじめてゲームプログラミング アクション マッピングノードン

「ボタンノードン」から、「マッピングノードン」に繋ぎ、変換した値を「アクション」に送信するので、「定数ノードン」は必要ありません。

 
「マッピングノードン」が、どのように値を変化させるかは、設定画面で調整可能です。

「パンチ」の例では、入力範囲を、最小値「0」、最大値「1」に。

出力範囲は、最小値「0」、最大値「3」に設定します。

 
この場合、「0」が入力されたら「0」に、「1」が入力されたら「3」に変換する、という意味になります。

「キック」を使用したい時は、出力範囲の最大値に「4」を設定すれば、「アクション」のポートに「4」が送信されます。

スポンサーリンク