- 最后登录
- 2021-9-15
- 注册时间
- 2011-7-15
- 阅读权限
- 100
- 积分
- 50625
- 纳金币
- 53202
- 精华
- 32
|
用协同程序
Update()
{
if(gameState == GameState.game)
{
....
if(Input.GetMouseDown(1)) {
gameState = GameState.wait
StartCoroutine( RoleAttack( ) ); //此时Update仍在执行,不过跳到了GameState.wait中,所以什么也没做
//RoleAttack 也正确的执行了并且只执行了一次,正确的等待了2秒
}
....
}
else if(gameState == GameState.wait)
{
//do nothing
}
}
IEnumerator RoleAttack()
{
.....
yield return new WaitForSeconds(2);
//最后记得改变状态回来
gameState = GameState.game ; // 跳回循环中
}
|
|