どうも、チャーさんです。
あなたはunityでキー入力による攻撃を
したいですか?
この記事ではunityでキー入力で攻撃を
する方法を書いてますので、あなたがこれを読めば、
キー入力で攻撃ができるようになります。
なので、unityでキー入力したら攻撃
というようなものを作りたい場合、
このまま読んでみてください。
目次
unityでキー入力による攻撃をするには
で結論からですが、
unityでキー入力で攻撃するには、
・if文
・Input.GetKey()関数
・攻撃の記述
この3つだけで可能です。
これだけだとイメージ湧きづらいと
思うので参考として具体的なコード出します。
コード例は以下です。
if (Input.GetKeyDown (KeyCode.A)) {
ここに攻撃の記述;
}
これだけでキー入力での攻撃は可能です。
あとは上記コードをupdate関数の中に書きましょう。
例
void Update () {
if (Input.GetKeyDown (KeyCode.A)) {
ここに攻撃の記述;
}
}
でこれでunityでキー入力により攻撃
できる理由ですが、コードの解説とともに
説明していきます。
Input.Getkey()でキー入力を扱おう
まず本記事のメイン内容に関わるのが、
Input.GetKey()関数です。
例で出したコードでいうと以下の部分です。
Input.GetKeyDown (KeyCode.A)
このInputというのはキー入力を扱うものです。
(unityではキー入力に関する機能はもう関数が
用意されてるので特に難しいことをしなくてokです。)
なのでunityでキー入力で攻撃したい場合、
このInputを使えばできます。
GetKeyDownとは
でここからもう少し説明なのですが、
ドットで繋がってるGetKeyDownというのは、
キーボードのキーが押されたら、
という意味になります。
GetKeyDownの引数でキー判定
そしてGetKeyDownの後ろの()の引数の部分ですが、
例 Input.GetKeyDown (KeyCode.A)
この()の中のKeyCode.の後ろの部分が、
どのキーボードを押したらという意味になります。
例えば上記の(KeyCode.A)だと、
キーボードのAを押せば、という意味になりますし、
(KeyCode.S)であればキーボードのSを押せば
という意味になります。
なので攻撃に割り当てたいキーをこのKeyCode.の
後に書けばいいでしょう。
ちなみにInput.GetKey()にはこの記事で紹介した
GetKeyDown以外に他にも色々種類がありますが、
普通に攻撃するだけならGetKeyDownで十分です。
色々キー入力に幅をもたせたい場合、
Unity Input GetKeyあたりで調べると出てきます、
なので参考までに。
if文と攻撃の記述で完成させよう
で話に戻りますが、
あとは、キー入力されたら攻撃なので、
if文の()の条件文の中に入れてやります。
if (Input.GetKeyDown (KeyCode.A)) {
ここに攻撃の記述;
}
上記記述だともしキーボードのAが押されたら、
{}内の記述を実行する、という意味になります。
であとはあなたがやりたい攻撃記述を
if文の{}の中に書けばOKです。
一番簡単に攻撃したのがわかりやすいのは、
Debug.Log(“攻撃した”);
などと記述するのがわかりやすいです。
if (Input.GetKeyDown (KeyCode.A)) {
Debug.Log(“攻撃した”);
}
するとキーボードのAを押すと、
攻撃した、とデバッグの画面に表示される
ようになります。
デバッグ画面の位置は画面左下
ちなみにデバッグの画面は、
unityで画面レイアウトかえてない場合、
画面の下の左(画面枠部分)に表示されます。
なのでそこをみると良いです。
ちなみにそこをクリックするとデバッグの画面が
少し大きくなって表示されます。(見やすいです)
という感じで、攻撃の記述を書けば、
攻撃が可能になります。
で、とりあえずキー入力で攻撃
はこれで完成なのですが、
応用したければアニメーションをつけよう
あとはここから応用に入り、
実際にプレイヤーオブジェクトに
攻撃のアニメーションをさせたりすれば、
キー入力で実際にプレイヤーが攻撃アニメーションを
してくれて動いてくれるので、
よりゲームっぽくなって面白いでしょう。
本記事はキー入力で攻撃までなので
アニメーションは割愛しますが、
キー入力で攻撃アニメーションもできるので、
知っとくとゲーム作るなら役立つでしょう。
unityでキー入力による攻撃までの手順
ということでunityでキー入力による
攻撃の説明はしたのでここからは手順だけ
書いときます。
わかる人は飛ばしてokです。
オブジェクトを用意する
で、まずはオブジェクトを用意しましょう。
スクリプトをはる
次にそのオブジェクトにスクリプトを貼りましょう。
Add Componentからやればokです。
記述をかく
であとは、本記事で紹介した、
記述をupdate関数内に書きましょう。
以下の感じ 例
void Update () {
if (Input.GetKeyDown (KeyCode.A)) {
Debug.Log(“攻撃した”);
}
}
テストする
あとは、再生ボタンを押して、
実際にキー入力して動くか試しましょう。
動いたらokです。
まとめ
ということでまとめです。
unityでキー入力による攻撃をしたい場合は、
if文
Input()関数
攻撃の記述
この3つを書きましょう。
そうすればunityでキー入力で攻撃できます。
キー入力して攻撃はゲームで必須なので
この記事を参考にして試してみてください。
それでは読んでもらってありがとうございました。
チャーさん