スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    [Unity]キー入力待ちをしたい

    RPG的なゲームを作ろうとしたときに必要となったのが
    会話・イベントシーン・コマンドバトルの様な逐次的に処理されるイベントだった

    これを実装しようとして初っ端につまづいたのが「キー入力待ち」
    ツクールとかだとInput.GetButton()みたいな関数に
    Input.GetButton('x',wait)
    とすると、キー入力待ちをしてくれるが、Unityにはない

    これはC#の機能を用いることとなる、それがコルーチンだ
    コルーチンについては、これらのサイトが参考になる

    処理の分割(コルーチン)
    Unity3D:はじめてのコルーチン
    Unity3D で FlappyBird っぽいゲームを作成してみる その3

    特に3つ目のサイトは、ゲームを1つ作っているので他にも参考になる場所が多い

    さて、結論から描くと
    While(!Input.anyKeyDown){ yield return 0; } //キー入力待ち
    これだけで良い

    ただし、これは返り値をIEnumeratorに持つ関数内でしか行えないが
    その辺りの詳しい説明は、先に挙げたサイトで理解できるだろう

    なお、こう記述すると4.0f秒待機になる
    yield return new WaitForSeconds(4.0f);

    スポンサーサイト

    コメントの投稿

    非公開コメント

    プロフィール

    秋歩

    Author:秋歩
    飽きやすくて色々手を出す残念素人です

    アクセスカウンター
    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    カテゴリ
    検索フォーム
    RSSリンクの表示
    リンク
    ブロとも申請フォーム

    この人とブロともになる

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。