Unity でオブジェクトの移動をキー入力で行おうとしているのですが、キー入力まで処理を止める方法尾を教えてください。
アクションの様にフレーム毎に動くことを前提としたゲームならUpdateに移動処理の関数を入れ、その関数にフレームの更新間隔でループさせれば良いと思うのですが、RPGのキャラ移動のように例えばキー入力がされるまで処理を止めることが上手く出来ません。
ソースはこのような感じです。
01: void Start () {
02:StartCoroutine (CoroutineSample());
03:}
04:
05:void Update () {
06:}
07: IEnumerator CoroutineSample(){
08: WaitWhile (!Input.anyKeyDown){ yield return 0; }//キー入力まで処理を止める
09:
10: if(Wのキーを押したとき、キャラが上に移動する処理)
11: 複数のelse if(他のキーを押したとき、Aなら左、Sなら下、Dなら右に移動する処理)
12:
13: }//CoroutineSample()を閉じる括弧
ところがこれでビルドすると、
WaitWhile (!Input.anyKeyDown){ yield return 0; }
に(;が必要です)。
とエラー文が出てビルドが成功しません。
どこを変えればビルドが成功するのでしょうか?
ご教授していただければ幸いです。