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

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

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

受付中

ボタンを押す→画像表示→〇秒後に見えなくするを繰り返したいです。

uni-mama
uni-mama

総合スコア0

1回答

0評価

0クリップ

115閲覧

投稿2022/05/22 07:25

編集2022/05/25 10:47

初めまして。Unityでゲームを作りたいと思って勉強中のものです。
お手間かと思いますが、解決の手助けをいただけますと助かります。よろしくお願いいたします。

■前提・実現したいこと
ボタンが押されたら画像を表示して〇秒後に見えなくする。もう一度ボタンが押されても同じように画像が表示されて〇秒後に見えなくしたい。

■発生している問題・エラーメッセージ
〇秒後に見えなくなったが、再度ボタンを押しても何も反応しない。

■該当のソースコード

C#

 using System.Collections;  using System.Collections.Generic;  using UnityEngine.UI;  using UnityEngine; public class ChangeImage : MonoBehaviour  {  public GameObject Buttongohan; // GameObject"Button(gohan)"を定義 public GameObject Buttonasobu; // GameObject"Button(asobu)"を定義 GameObject memoryGohan; GameObject memoryAsobu; int countGohan; int countAsobu; bool onOff = false; void Start() { memoryGohan = Buttongohan; memoryAsobu = Buttonasobu; countGohan = 0; countAsobu = 0; memoryGohan.SetActive(onOff); memoryAsobu.SetActive(onOff); } public void Button_gohan() { if (countGohan == 0) { Debug.Log("押された!"); // ログを出力 onOff = false; memoryAsobu.SetActive(onOff); countAsobu = 0; onOff = true; memoryGohan.SetActive(onOff); countGohan++; } Debug.Log("botan押された!"); // ログを出力 StartCoroutine( Uniwait() ); IEnumerator Uniwait() { onOff = true; memoryGohan.SetActive(onOff); Debug.Log("3秒まつ"); yield return new WaitForSeconds(3.0f); onOff = false; memoryGohan.SetActive(onOff); } }

 
■自分で調べたことや試したこと
はじめは秒数を数えるため「Time.deltaTime」を使いましたが、update内で完結する方法が分からず、上記にたどり着きました。

C#

void Start() {  time = 3;  Debug.Log("スタート!"); // ログを出力  uni_eat.SetActive(true); } void Update() {   Debug.Log("タイム減るよ"); // ログを出力   time -= Time.deltaTime;      if (time <= 0.0f)   {    uni_eat.SetActive(false);    }

 
■使っているツールのバージョンなど補足情報
Unityのバージョン:Unity 2021.3.2f1
Windows

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る