一、Input
GetButton 根据按钮名称返回true当对应的虚拟按钮被按住时。
GetButtonDown 在给定名称的虚拟按钮被按下的那一帧返回true。
GetButtonUp 在用户释放指定名称的虚拟按钮时返回true。
案例:点击鼠标左键,给物体加一个力
if (Input.GetButtonDown("Fire1"))
{
GameObject go = Instantiate(cube);
Rigidbody r = go.GetComponent<Rigidbody>();//从预设体身上获取刚体组件
r.AddForce(0,0,10000);//给预设体加力
}
二、协程
- 协程
协同程序,即将主程程序运行时同时开启另一段逻辑处理来协同当前程序的执行。换句话说,开启协同程序就是开启一个线程。
使用StartCoroutine(string methodName)可以开启一个线程。
Yield语句是一种特殊类型的Return(返回)语句,它可以确保函数在下一次被执行时,不是从头开始,而是从Yield语句处开始。
协程其实就是一个IEnumerator(迭代器)。迭代器方法运行到 yield return 语句时,会返回一个表达式并保留当前在代码中的位置。 当下次调用迭代器函数时执行从该位置重新启动。
Unity3D协程介绍 以及 使用_huang9012的专栏-CSDN博客_unity协程
案例1:倒计时(3秒后打印一句话)
float timer = 3;
void Update()
{
timer -= Time.deltaTime;