Unity 之 使用定时调用与Update 正常帧更新的运行答疑

news/2025/3/15 22:18:56/

文章目录

  • 疑惑
  • 代码辨析
  • 具体解释

在这里插入图片描述

疑惑

就是说,当我们在Start 函数里面定义了一个InvokeRepeating 函数,那么我们又在Update 定义了一个基本操作,想联合控制物体一个往返的一个运动时,我们应该怎么办?
就是说系统是怎么编译的呢?

代码辨析

这里我提供两个代码,大家看一下区别

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SimpleLogic : MonoBehaviour
{public float speed = 1f;// Start is called before the first frame updatevoid Start(){InvokeRepeating("DoSomesing", 2,2);}// Update is called once per framevoid Update(){Debug.Log("***this is Update ***" + Time.time);transform.Translate(0, speed * Time.deltaTime, 0, Space.Self);}void DoSomesing(){Debug.Log("***use Dosing ***"+ Time.time);//transform.Translate(0, -1*speed * Time.deltaTime, 0, Space.Self);speed = 0 - speed;}
}另一个代码和它非常像

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

public class SimpleLogic : MonoBehaviour
{
public float speed = 1f;

// Start is called before the first frame update
void Start()
{InvokeRepeating("DoSomesing", 2,2);
}// Update is called once per frame
void Update()
{Debug.Log("***this is Update ***" + Time.time);transform.Translate(0, speed * Time.deltaTime, 0, Space.Self);
}
void DoSomesing()
{Debug.Log("***use Dosing ***"+ Time.time);transform.Translate(0, -1*speed * Time.deltaTime, 0, Space.Self);//speed = 0 - speed;
}

}

这两个代码就是一行的差别,那么你知道哪一个可以真正实现往返运动吗?

其实第一个代码正确

具体解释

在这里插入图片描述

就是说我们的Update 是每一帧都运行,而InvokeRepeating 只有特定的时间才运行,那么我们把控制物体运行的关键点速度就只能放在InvokeRepeating 里面了,而对于控制前进的代码就应该放在Update 中,毕竟每一帧都要前进的!


http://www.ppmy.cn/news/1106344.html

相关文章

Linux系统编程笔记--系统(文件)I/O操作

目录 1--文件描述符 2--系统I/O常用函数 3--标准I/O和系统I/O的区别 4--原子操作 5--dup()和dup2() 6--fcntl()和ioctl() 1--文件描述符 文件描述符的实质:一个整型数,一个数组下标(数组的元素指向文件结构体); …

【校招VIP】专业课考点之网络存储

考点介绍: cookie、session和localstorage 是目前常用的存储机制,不管是大厂还是中小公司,都会对这个问题有比较高的考察频度,而且有一定的深度和对比分析 专业课考点之网络存储-相关题目及解析内容可点击文章末尾链接查看&#…

自然语言处理学习笔记(十)———— 停用词过滤

目录 1.停用词 2.实现思路 3.全部实现代码: 4.运行结果: 1.停用词 汉语中有一类没有多少意义的词语,比如助词“的”、连词“以及”、副词“甚至”、语气词“吧”,称为停用词。一个句子去掉了停用词并不影响理解。停用词视具体任…

策略模式:切换算法的灵活性

欢迎来到设计模式系列的第十二篇文章!在之前的文章中,我们已经学习了许多常用的设计模式,今天我们将介绍另一个重要的设计模式——策略模式。 策略模式简介 策略模式是一种行为型设计模式,它定义了一系列算法,将每个…

leetcode分类刷题:栈(Stack)(三、下一个更大的数)

1、本次博客总结的“栈(Stack)(三、下一个更大的数)”类型具体是指寻找任一个元素的右边/左边第一个比自己大/小的元素的位置,这与栈的先入后出思想一致 2、这种题目用栈处理的算法模板往往叫做单调栈,是因…

java8-Stream流常用API

什么是 Stream Stream(流)是 Java 8 引入的一个新的抽象概念,它代表着一种处理数据的序列。简单来说,Stream 是一系列元素的集合,这些元素可以是集合、数组、I/O 资源或者其他数据源。 Stream API 提供了丰富的操作方…

seatunnel win idea 本地调试

调试FakeSource,LocalFile # Set the basic configuration of the task to be performed env {execution.parallelism 1job.mode "BATCH" }# Create a source to connect to Mongodb source {# This is a example source plugin **only for test and d…

【C++从0到王者】第二十八站:二叉搜索树的应用

文章目录 前言一、Key模型二、Key/Value模型总结 前言 二叉搜索树的在现实世界的应用很广泛,比如Key模型,Key-Value模型就是常见的两种的模型 一、Key模型 K模型:K模型即只有key作为关键码,结构中只需要存储Key即可&#xff0c…