ホームページ | ロボットの作り方 | キーコード | 役立ち系

ロボットの作り方

目次


ロボットを作りましょう。

最終的には、ゲーム内にエディタを組み込む予定で、

もっと簡単に作れるようになる予定ですが、

今の段階ではまだ出来上がっていないので、

ちょっと設定が複雑になってしまっています。すみません。

ソフトはTiled Map Editorを使います。

このゲームと同じく、itch.ioで簡単にダウンロードできます。

1. ファイルの場所

ロボットは、アプリケーションフォルダの、'robots/'というフォルダに保存します。

そうすると、ゲームはそのフォルダ内のtmxという拡張子のファイル(Tiledのファイル)を

リストアップし、ゲーム内で使えるようになります。

サンプルファイルがいくつかあると思うので、同じフォルダにコピーして、開いてみてください。

2. ロボットを形作る

image

コンポーネント一覧

img-core コア

ロボットのいわば心臓。

ロボット一体につき1つ必要で、これが破壊されると動けなくなり負けとなる。

img-block ブロック

ロボットを形作るのに必須の部品。

img-joint ジョイント

ロボットの関節。

img-wheel ホイール

車のようなロボットを作るのに必要。

img-jet ジェット

推進力を得て空を飛ぶことができる。

img-gun 機銃

ここから弾を発射して敵を攻撃する。

ルール

3. 部品をくっつける

コンポーネント同士は、指定しないとバラバラのままです。

どれとどれが繋がっているのかを矢印で指定する必要があります。

image

どう設定するかは、上の画像をしばらく眺めていれば理解できると思います。

簡単に言うと、「そのコンポーネントはどちらにくっついているのか?」を矢印で示してたものです。

詳しくは↓に説明していますが、ここは読み飛ばしても大丈夫です。

木を想像してみてください。

根っこがあって、幹があり、そこから枝分かれをして、末端に葉っぱがあります。

ロボットも同じ構造です。

根の部分がコア img-core で、

幹・枝がブロック img-block とジョイント img-joint で、

葉っぱがホイール img-wheel、ジェット img-jet、機銃img-gun

という感じです。

そうすると末端の葉っぱから、根であるコアまで一筆書きでたどることができますね。

これを矢印で表現しているのが、このconnectionレイヤーです。

上の動いている画像を見ると、そうなっているのがわかると思います。

もし辿れなかった場合は、途切れているということです。

どこかでロボットが分かれてしまいます。

4. 動かす設定をする

どうやって?

image

設定の書き方

例えば、キーボードのFキーを押した瞬間に、ホイールに回転をかける設定は、以下のようになります。

key.f.pressed:10

なんとなくで理解できると思います。

最後の10を変えることで、ホイールの回転度合いが変わったりします。

例えば、-10とすると、今度は逆に回転します。

機銃などは調整する項目がないので、最後の値は不要です。

他の例を見てみましょう。

# キーボード
key.f.pressed:10        # キーボードの 'F' を押した瞬間、'10'を設定する。
key.f.pressed           # キーボードの 'F' を押した瞬間。機銃には設定する値がないのでこれだけでOK。
key.space.released:-10  # キーボードの スペース を離した瞬間、'-10'を設定する。('released' はあまり使い道がない。)
key.a.held:10           # Aキーを押している間、常に'10'が設定される。('held' はホイールとジェットで使う。)

# ゲームパッドのボタン
btn.0.pressed:10        # ゲームパッドの '0'ボタン を押した瞬間、'10'を設定する。
btn.1.released:10       # ゲームパッドの '1'ボタン を離した瞬間、'10'を設定する。
btn.2.held:10           # ゲームパッドの '2'ボタン を押している間、常に'10'が設定される。

# ゲームパッドの十字ボタン
dpad.0.up.pressed:10    # ID=0の十字ボタンの '上' を押した瞬間、'10'を設定する。
dpad.0.right.held:10    # ID=0の十字ボタンの '右' を押している間、常に'10'を設定する。
dpad.0.down.pressed     # ID=0の十字ボタンの '下' を押した瞬間。
dpad.0.left.pressed     # ID=0の十字ボタンの '左' を押した瞬間。
# 十字ボタンの'released' はまだ設定できません。

# ゲームパッドのスティックの軸とトリガー
axis.2:10               # 軸'2'の現在の値(-1 ~ 1)と'10'の積(掛け算した値)を設定する。
# 軸は、ホイールやジェットなど、微調整したい箇所に使うと便利。

上の例を見て分かるように

を検出したとき、どんな値をコンポーネントに与えるか?を設定するものです。

入力まとめ

入力の設定の仕方をまとめるとこうなります。

> キーコード一覧へ

> XBOX360のボタン番号と軸番号

モーション

モーション 説明 補足
pressed 押した瞬間 _
released 離した瞬間 dpad(十字ボタン) のみ未対応
held 押されている間 _

コンポーネントに設定する値

ジョイント

image

ジョイントには、角度をラジアンで設定します。

現バージョンでは、定数piは使えません。

'3.1415' というように、直接数値で指定してください。

ホイール

image

ホイールには、その瞬間に与える回転力を指定します。

正の値は反時計回り(左周り)に回転する力を与えます。

ジェット

image

推進力を指定してください。

機銃

image

値は不要です。


ホームページ | ロボットの作り方 | キーコード | 役立ち系