C# 为什么我的武器重新装填的协同程序不起作用?
我有一个重新装填武器的代码,如果我开始装填,切换到其他武器,然后切换回应该装填的武器,武器不装填,不能射击,并且会显示以前武器的弹药显示。。。知道为什么吗?我尝试将C# 为什么我的武器重新装填的协同程序不起作用?,c#,unity3d,C#,Unity3d,我有一个重新装填武器的代码,如果我开始装填,切换到其他武器,然后切换回应该装填的武器,武器不装填,不能射击,并且会显示以前武器的弹药显示。。。知道为什么吗?我尝试将IEnumerator设置为public,但也没有成功 使用UnityEngine; 使用系统集合; 使用TMPro; 公共类GunScript_SB:单一行为 { 公众浮子损坏=10f; 公共浮动范围=100f; 公共浮子冲击力=30f; 公共浮式消防车的火灾率=15f; 公共浮点数maxAmmo=10; 私人弹药; 公共浮动重新加
IEnumerator
设置为public
,但也没有成功
使用UnityEngine;
使用系统集合;
使用TMPro;
公共类GunScript_SB:单一行为
{
公众浮子损坏=10f;
公共浮动范围=100f;
公共浮子冲击力=30f;
公共浮式消防车的火灾率=15f;
公共浮点数maxAmmo=10;
私人弹药;
公共浮动重新加载时间=3f;
私有bool isReloading=false;
公共摄像机;
公众参与制度;
公共游戏对象冲击效应;
公共文本网Prougui弹药显示;
私用浮标NEXTITMETOFIRE=0;
void Start()
{
当前弹药=最大弹药;
}
void onEnable()
{
isReloading=false;
amomdisplay();
}
//每帧调用一次更新
无效更新()
{
如果(isReloading)
返回;
如果(当前弹药=nextTimeToFire)
{
下一次火灾=时间。时间+1f/火灾率;
射击();
}
如果(弹药显示!=空)
{
amomdisplay();
}
if(Input.GetKeyDown(KeyCode.R)和¤tAmmo
切换武器后,您的协同程序可能仍在运行。添加引用字段并在再次启动前停止协同路由:
私有协同路由重新加载协同路由;
如果(重新加载路径!=null){
StopCorroutine(重新加载Corroutine);
}
reloadCoroutine=start例程(Reload())代码>切换武器后,您的协同程序可能仍在运行。添加引用字段并在再次启动前停止协同路由:
私有协同路由重新加载协同路由;
如果(重新加载路径!=null){
StopCorroutine(重新加载Corroutine);
}
reloadCoroutine=start例程(Reload())我不知道我是否把代码放错了地方,但无论我把它放在哪里,它仍然不起作用…我不知道我是否把代码放错了地方,但无论我把它放在哪里,它仍然不起作用。。。