【3Dゲームエンジン】Unity質問スレッド5at GAMEDEV【3Dゲームエンジン】Unity質問スレッド5 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト232:名前は開発中のものです。 13/07/21 23:14:18.33 RN7Vswj9 >>231 turnsの呼び出しじゃなくて yield WaitForSeconds を削ったらうまくいきませんか? 233:名前は開発中のものです。 13/07/22 01:22:43.63 0n1C9rMd function turnsの定義の戻り値をvoid指定して定義を他の呼び出しよりも先にしても駄目か? function turns(): void {にして、コードをもっと若い行に移動 234:名前は開発中のものです。 13/07/22 01:29:21.30 0n1C9rMd 見直したらyield WaitForSeconds(ほげ)が原因っぽいなー それよりも普通に未定義変数が入っててコンパイルできないのもアレだわ 235:名前は開発中のものです。 13/07/22 16:08:07.90 k2lefDgM >>232>>234 turns()内のyield WaitForSecondsをコメントアウトしてみましたが、それでも同じエラーが出ました。 >>233 turns()の戻り値にvoidを指定してみたところ、 「Assets/Script/sinkeisuijaku.js(143,18): BCE0101: Return type 'void' cannot be used on a generator. Did you mean 'IEnumerator'? You can also use 'System.Collections.IEnumerable' or 'object'.」 と言われてしまい、どうやらvoidは使えずIEnumerableかobjectじゃないといけないみたいです。 (Document Outline見る限りUpdateやOnGUIなどはvoidらしいんですけどね・・・ 宣言しなければturns()もvoidのようですし・・・) そこで、わけもわからずですがStartと同じようにIEnumeratorに(エラー文が行っている方と違ってますね・・・;)を宣言してみると、 turns()の呼び出し位置そのままにエラーが出ることなく思った動作(カードめくって同じカードか判断したり、必要に応じてターンを切り替えたりなど)ができました。 また、書いてある通りの型―何も返すつもりはないのでobjectにはせずIEnumerableにると、エラーは出なかったもののそろってなかったときに戻すという動作が進みませんでした。 IEnumerableやIEnumeratorは知らなかったので、これから自分で調べてみようと思います。 そもそもfunction 関数名():型名で戻り値の型宣言ができること自体知りませんでした・・・; >>234 コンピュータの動作はまだ特に記述していませんが、関数自体は一応定義はしています。 呼び出されても何もしないものですけど。 呼び出されても何もしない関数を呼び出したということではエラーは出ていません。 戻り値の型宣言してエラーが出なくなってからも問題なく実行できています。 こんな私の質問に答えてくださってどうもありがとうございました。 ファイルの方は削除させてもらいました。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch