質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1785閲覧

Unityのコルーチンについて

mokomoko

総合スコア7

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2016/11/06 07:48

###前提・実現したいこと
ソシムから出版されたUnity5 3D/2Dゲーム開発 実践入門を参照中です。
この書籍の164ページのスクリプトについて質問させてください。

持ち球30個からマイナスしたりプラスしたりするというスクリプトです。
そこで画面の左上に持ち球の個数が表示されて、その個数が30未満だと
個数の横に10秒からのカウントダウンが表示されて、
0秒になったら持ち球が1個プラスされるようです。

ですが実際にプレビューして持ち球を何個打ち出してもカウントダウンは表示されません。
エラーも警告も吐いていません。

誤字脱字はくまなく探してみましたがおそらく無いと思います。
スクリプト実装も確認しました。
ゲームオブジェクトは非アクティブになっていません。

コルーチンをこのスクリプトで初めて使ったので、その部分がなにか
悪さをしているのかな・・・と思ったのですが
どうしても解決できませんでした。

どうすればカウントダウンが表示できるでしょうか。
初めての質問で至らない部分があるかもしれませんが、よろしくお願いいたします。

###該当のソースコード

using UnityEngine; using System.Collections; public class CandyHolder : MonoBehaviour { const int DefaultCandyAmount = 30; const int RecoverySeconds = 10; //現在のキャンディのストック数 int candy = DefaultCandyAmount; //ストック回復までの残り秒数 int counter; public void ConsumeCandy() { if(candy > 0) candy--; } public int GetCandyAmount() { return candy; } public void AddCandy(int amount) { candy += amount; } void OnGUI() { GUI.color = Color.black; //キャンディのストック数を表示 string label = "Candy : " + candy; //回復カウントしているときだけ秒数を表示 if(counter > 0) label = label + " (" + counter + "s)"; GUI.Label(new Rect(0, 0, 100, 30), label); } void Updata() { //キャンディのストックがデフォルトより少なく、 //回復カウントをしていないときにカウントをスタートさせる if(candy < DefaultCandyAmount && counter <= 0) { StartCoroutine(RecoverCandy()); } } IEnumerator RecoverCandy() { counter = RecoverySeconds; //1秒ずつカウントを進める while(counter > 0) { yield return new WaitForSeconds(1.0f); counter--; } candy++; } }

###補足情報(言語/FW/ツール等のバージョンなど)
言語:C# 使用ツール:Unity5.4

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

C#

1void Updata()

C#

1void Update()

ではないでしょうか。

投稿2016/11/06 13:53

StudioAres

総合スコア127

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mokomoko

2016/11/07 03:13

正常になりました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問