2015年06月26日

引き続き、Input.GetKeyDownの動作検証


さて、先日の動作検証の続きです。

先日の検証で、とりあえずタイピングアプリに使うといい感じなのは、
『Input.GetKeyDown』というのが理解できました。

んで、現在のAndroid向けアプリの方だとですね。
キーを押した時のスクリプトの作りがこんな感じなんです。

キーを押す
↓
何のキーが押されたか確認する
→正解のキーの場合は、『正解だよッ!!(・∀・)』
→不正解のキーの場合は、『不正解だッ!!ヽ(`Д´#)ノ』

こんな感じ。

んで、最初はこの通りのスクリプトをweb版でも作ろうと思ったんすよ。
で、『何のキーを押されたか確認する』って部分をなんとか実現したくて、
Input.GetKeyDownについて色々調べてみました。

ちなみに公式リファレンスはこちら
Input.GetKeyDown

name によって識別されるキーを押したフレームの間だけ true を返します

あれ? おれが考えてるスクリプトって無理くさい?(;・∀・)

とまぁそんなわけでスクリプトの考え方を根本から見直すことにしました。
そして動作検証用に作ったのが、以下のスクリプト。

using UnityEngine;
using System.Collections;

public class InputTest : MonoBehaviour {

    //各種変数設定
    private string word="abcdefg";    //問題文字列
    private int count=0;              //現在の文字
    private int countMax=0;           //文字の最大数

    // Use this for initialization
    void Start () {

        //文字数確認
        countMax=word.Length;

    }

    // Update is called once per frame
    void Update () {

        //結果表示
        if(Input.GetKeyDown(word.Substring(count,1))){
            Debug.Log ("Input.GetKeyDown'"+word.Substring(count,1)+"'だよっ(`・ω・´)");
            count=count+1;
            //文字数を超えたらゼロに戻す
            if(count>=countMax){
                count=0;
            }
        }
    }
}

すさまじくひらべったい説明をすると、
正解の文字を設定する→そのキーを押す→『正解だよッ!!(`・ω・´)』
というスクリプトを書いてあげたのです。
動かしてみると、キチンと狙ったとおりの動作をしてくれました。

まぁAndroidの方はキーボードを自作したっつーのもあるし。
こっちの方がスクリプト的に簡単で楽でいいや(・∀・) と思いましたね。

こいつをなんとかうまい具合に使ってみようかと思います(`・ω・´)

…しかし相変わらず、いちいち検証しなくてもいいんじゃないかと思える内容ですな…(´・ω・`)
なんかUnityの記事を載せたかったのー!!!ヽ(`Д´#)ノ


コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)