Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我在禁用组件时出错_C#_Unity3d - Fatal编程技术网

C# 我在禁用组件时出错

C# 我在禁用组件时出错,c#,unity3d,C#,Unity3d,我收到错误“Assets\ExplosionGun.cs17,34:错误CS1026:预期”。我已经试了很长时间,但还没有找到解决办法。我正在使用VisualStudio和Unity引擎 我的代码: 使用UnityEngine; 公共级爆炸枪:单一行为 { 公开游戏对象爆炸; 公共摄像机; 公共浮动力=1000000000000000F; 公共浮子半径=10000f; 公共时间管理器; 无效更新 { ifInput.GetButtonDownFire1; 射击 this.enabled=true

我收到错误“Assets\ExplosionGun.cs17,34:错误CS1026:预期”。我已经试了很长时间,但还没有找到解决办法。我正在使用VisualStudio和Unity引擎

我的代码:

使用UnityEngine; 公共级爆炸枪:单一行为 { 公开游戏对象爆炸; 公共摄像机; 公共浮动力=1000000000000000F; 公共浮子半径=10000f; 公共时间管理器; 无效更新 { ifInput.GetButtonDownFire1; 射击 this.enabled=true; } 空射 { RaycastHit_hitInfo; //如果我们撞到什么东西 如果Physics.Raycastcam.transform.position、cam.transform.forward、out\u hitInfo { //在碰撞点处创建爆炸 实例化explosion,_hitInfo.point,Quaternion.LookRotation_hitInfo.normal; timeManager.DoSlowmotion; Collider[]colliders=Physics.overlapphere\u hitInfo.point,radius; foreach碰撞器在碰撞器中靠近对象 { 刚体rb=nearbyObject.GetComponent; 如果rb!=null { rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point,半径; rb.AddExplosionForce,_hitInfo.point*1000,半径; } } } } } 如果没有结束。应该是:

if(Input.GetButtonDown("Fire1")) {
   shoot();
   this.enabled = true;
}
注意我是如何取代你的;使用括号确保以下代码位于if块内


错误Assets\ExplosionGun.cs17,34:error CS1026:expected准确地告诉了您需要做什么。你应该研究C语言的错误,以及如何正确地阅读和理解它们。

MATE非常感谢你,你太棒了,太快了,谢谢YOU@lakshya我很高兴能帮助你。如果您是StackOverflow新手:您可以将此答案标记为已接受,以便正式回答您的问题;反正也没什么意义!组件已启用。。或者永远不会调用更新,所以尝试从更新中启用此组件绝对没有意义您在禁用任何内容时不会收到错误。。。这是一个compier错误,告诉您在某处有语法错误:ifInput.GetButtonDownFire1;应该是ifInput.GetButtonDownFire1。。。另外,您应该将下面的两行换行到{}中,否则if只引用第一行,并且始终执行this.enabled=true。。。另外:无论如何,this.enabled绝对没有意义。。。如果调用Update,则表示此组件已启用。。否则它根本不会被调用,所以尝试在更新中启用它是行不通的
if(Input.GetButtonDown("Fire1")) {
   shoot();
   this.enabled = true;
}