Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unityで生成したボタンにキーボードのキーを自動で割り振りたい!

Posted at

この記事について

Unity1Weekで以前作成していたゲームで悩んだ内容について書こうと思います。
個人的な取り組みで会社でゲーム開発していないけど問題ないよね!

どんなゲームか

表示される数値を二進数に変換して答えるというゲームを作った。
面白くなかったので封印した。

スクリーンショット 2021-06-30 1.16.27.png

選択する難易度によってビット数が変わるというもの。
この時にPCでやるならキーボード入力ができるようにしたいと思い、ビット数の指定時(難易度選択時)に自動でボタンとキー入力を紐付けできないかと考えました。

ソースコード

Buttonを入れる範囲指定にからのオブジェクトを置いて、そこにHorizontal Layout Groupを追加します。
スクリーンショット 2021-06-30 1.15.26.png

CreateButton.cs
public string[] keyString = { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p" };

private void OnEnable()
{
    for (int i = 0; i < 10; i++)
    {
        var obj = Instantiate(ButtonPrefab, this.transform);
        var bitNumber = (int) Math.Pow(2, i);
        var keyCode = keyString[i]; 
        obj.GetComponent<BitChanger>().InitSetProperty(bitNumber, keyCode);
    }

    _gameManager.CreateQuestions();
}
BitChanger
void Update()
{
    if (Input.GetKeyDown(keyString))
    {
        PushBitButton();
    }
}

public void InitSetProperty(int setBitNumber, string setKeyString)
{
    this.thisBitNumber = setBitNumber;
    this.keyString = setKeyString;
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
yokotate

@yokotate

専門学校からなんとなくIT企業に入社した万年素人SE(自称)。Pythonは業務で使ってないのに業務で使ってる言語よりも使っている時間が長い気がするのが最近の悩み。 最近はAI系の技術に興味を持ちつつも日々自分の基礎学力無さに嘆いている。 書く内容はほぼ初心者向け。投稿する記事の内容は個人の意見であり、所属する企業の見解を代表するものではありません。
japan-systems
「2019年に50周年を迎えたIT企業です。最先端の技術により全国の企業、官公庁、自治体に多くの実績があります。」

Comments

No comments

Let's comment your feelings that are more than good

Qiita Conference 2024 Autumn will be held!: 11/14(Thu) - 11/15(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

Takahiro Anno, Masaki Fujimoto, Yukihiro Matsumoto(Matz), Shusaku Uesugi / Nicolas Ishihara(Vercel Inc.)

View event details

Being held Article posting campaign

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address