c# - 我在禁用组件时遇到错误
问题描述
我收到错误“Assets\ExplosionGun.cs(17,34): error CS1026: ) expected”。我已经尝试了很长时间,但一直无法找到解决方案。我正在使用 Visual Studio 和 Unity 引擎。
我的代码:
using UnityEngine;
public class ExplosionGun : MonoBehaviour
{
public GameObject explosion;
public Camera cam;
public float force = 100000000000000000f;
public float radius = 10000f;
public TimeManager timeManager;
void Update()
{
if(Input.GetButtonDown("Fire1");
shoot();
this.enabled = true;
}
void shoot()
{
RaycastHit _hitInfo;
// If we hit something
if (Physics.Raycast(cam.transform.position, cam.transform.forward, out _hitInfo))
{
// Create an explosion at the impact point
Instantiate(explosion, _hitInfo.point, Quaternion.LookRotation(_hitInfo.normal));
timeManager.DoSlowmotion();
Collider[] colliders = Physics.OverlapSphere(_hitInfo.point, radius);
foreach (Collider nearbyObject in colliders)
{
Rigidbody rb = nearbyObject.GetComponent<Rigidbody>();
if (rb != null)
{
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point, radius);
rb.AddExplosionForce(force, _hitInfo.point * 1000, radius);
}
}
}
}
}
解决方案
if(Input.GetButtonDown("Fire1");
shoot();
this.enabled = true;
那如果没有关闭)
。它应该是:
if(Input.GetButtonDown("Fire1")) {
shoot();
this.enabled = true;
}
请注意我如何用括号替换您的;
,以确保以下代码位于 if-Block 内。
该错误Assets\ExplosionGun.cs(17,34): error CS1026: ) expected
准确地告诉了您需要做什么。您应该查看 C# 错误以及如何正确阅读和理解它们。
推荐阅读
- typescript - 如何在打字稿的对象文字中键入带有“this”的方法?
- java - 在 Android API 29 中使用 ExifInterface 时出现以下错误
- java - 按下提交按钮后如何解决它显示 404 错误和控制器消息
- android - Android Firebase Firestore SDK:如何根据另一个集合的文档字段从集合中排序文档?
- emacs - 如何在 Emacs 中复制字符串并粘贴子字符串?
- vb.net - 我刚开始在 vb.net 上工作并遇到了这个我想知道 g.mods.count-1 到 0 step-1 在 vb.net 中的含义
- javascript - wordpress 在特定页面上添加 javascript 函数得到未捕获的引用错误
- java - unity+PlayFab c# 顺序执行
- c - 程序返回 EXIT_FAILURE 并终止后释放内存
- python - 从launchctl运行python脚本时Mac找不到chromedriver