- Spaceキーを押したときの処理を設定したいな
- Aキーを押したときこの処理したいな
という悩みを解決します。
●任意のキーを押したときの処理を設定する方法
if (Input.GetKey(KeyCode.任意のキー))
{
したい処理を書く
}
任意のキーの部分を「A」や「Space」などのキーに変えてください。したい処理の部分は自分のしたい処理のスクリプトをかいてください。
では、例をだして使ってみます。
Input.GetKey(KeyCode.任意のキー)の使い方、例
「Space」キーを押したときに、赤いキューブが上昇するようにします。
- Cubeを作成して画像のような感じにする
- RedCubeにRigidbodyをつけて、Massを0.05にする
- RedCubeにスクリプトをアタッチする
- スクリプトを書く
Cubeを作成して画像のような感じにする
【Project】→【Create】→【3D Object】→【Cube】で上のようなものを作ります。赤くなくても、自分がつくりやすい感じで作成してください。
赤いCubeの名前は「RedCube」にしています。
赤いCubeにRigidbodyをつけて、Massを0.05にする
【RedCubeを選択】→【Inspector】→【Add Component】→【Rigidbodyを追加】→【Massを0.05にする】
【Rigidbody】コンポーネントは物理機能をつけることができます。「Mass」は0.05にしてください。
「Mass」は質量を表しています。
詳しくは【Unity】オブジェクトに物理機能をつけるRigidbodyの使い方、設定方法をご覧ください、
RedCubeにスクリプトをアタッチする
【RedCubeを選択】→【Inspector】→【Add Component】→【New Script】→【Testという名前にする】
その「RedCube」にスクリプトをアタッチします。「Test」って名前にしますね。
スクリプトを書く
「Test」スクリプトをダブルクリックして、開きます。以下のスクリプトを書いてください。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
Rigidbody rigidBody;
// Use this for initialization
void Start()
{
rigidBody = GetComponent<Rigidbody>();
}
// Update is called once per frame
void Update()
{
ProcessInput();
}
void ProcessInput()
{
if (Input.GetKey(KeyCode.Space))
{
rigidBody.AddRelativeForce(Vector3.up);
}
}
}
スクリプトの説明
if (Input.GetKey(KeyCode.Space))
{
rigidBody.AddRelativeForce(Vector3.up);
}
Spaceキーを押したら、上昇するようになっています。
まとめ
●任意のキーを押したときの処理を設定する方法
if (Input.GetKey(KeyCode.任意のキー))
{
したい処理を書く
}
爆速でロケット発射。#unity #unity3d pic.twitter.com/88b0OmABUF
— さぎのみや (@saginomiya8) July 27, 2018
こんな感じで爆速でロケットを発射してみました。
Unityでゲームを作りたい場合は、【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろうでゲームを作ってみるのはどうでしょうか
以上さぎのみや(@saginomiya8)でした。
コメント