Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 1500.00元
在 学习过程中要编辑一个计时器,每隔12秒进行一次循环动作。今天群里帮忙指导用携程做,但还有bug。我按照网上资料改了一下,修改后出现按h键出现提示不是间隔12秒(见附件),按j键退出不了携程仍然有提示信息。想请教老师帮我看看我编的逻辑对吗,如何处理bug
applehome发起了问答2019-05-23
4
回复
393
浏览

帮我看看源代码的逻辑对不对,如何修改

源代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class gfdg : MonoBehaviour {
    public float timer = 12;
   // public bool OnTimer = false;
    // Use this for initialization
    void Start () {
        
    }
    
    // Update is called once per frame
    void Update () {
        if(Input.GetKeyDown(KeyCode.H))
        {
            StartCoroutine(Countdown());
            
        }
        if(Input.GetKeyDown(KeyCode.J))
        {
            StopCoroutine(Countdown());
            
        }
        
    }
    IEnumerator Countdown()
    {
        while (true)
        {
           
                timer -= Time.deltaTime;
           
            
                yield return new WaitForSeconds(timer=12f);

            Debug.Log("This message appears after 12 seconds!");
        }
    }
}

无标题.rar 预览 下载
所有回复
  • 老师_Trigger 2019-05-23

    同学你好,可以参考一下携程关闭的方法

    https://www.cnblogs.com/xiaoyulong/p/7895196.html

    另外等待时间写成12或者timer就可以了,不要写成timer=12

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
  • applehome 2019-05-23

    我用这种方法停止携程出现下面错误

     if(Input.GetKeyDown(KeyCode.J))
            {
                 //StopCoroutine(Countdown());
                yield return null;}

    显示

    严重性    代码    说明    项目    文件    行    禁止显示状态
    错误    CS1624    “void”不是迭代器接口类型,因此“gfdg.Update()”体不能是迭代器块    Assembly-CSharp    F:\part\xicheng\efds\Assets\gfdg.cs    14    活动的

     

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • applehome 2019-05-23

    老师,我调试成功了。用停止所有携程命令实现的。感谢

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!