Unity鼠标点击物体移动闪一下问题


最近在学习Unity开发的时候遇到一个简单的小问题,却耗费了我很多时间才解决

问题是这样的,我在脚本里边写了一个控制物体移动的方法Move,Undate直接调用该方法,然后在Unity中直接运行是可以的,但现在新加了一个需求,那就是通过按钮点击也可以控制物体的移动

那还不简单么,不就是添加个Button然后再Button上添加点击事件么,让Button点击调用该脚本的Move方法不就好了么   

然后我就这么去做了,结果跟我想象的有点不一样哎,之前的物体是会一直匀速前进的,然后到停下的条件时才会停下,但通过鼠标点击的时候就成了鼠标点一下就动一下,无法实现这个方法本身的效果,这是怎么回事呢,代码也没有任何报错,我一直在代码中找问题,各种修改调试,尝试许久无果

研究许久才发现这个函数只会执行一次。不会像之前的update是每一秒执行60次。无限循环执行。

所以我们可以通过以下来解决:

第一:设置一个变量,这个变量在update函数能够访问。
第二:事件函数设置这个变量值。
第三:在update函数中访问到这个变量的值,如果这个变量是运行值。就移动。 到了停止的条件,就设置变量为关。
第四:按钮事件函数就是设置这个变量为开。

这不就循环运动起来了么