[英]Cannot assign to 'ImpactReceiver' because it is a 'method group'
I've been working on a game so far and I've encountered a problem where it says I can't assign something due to it being a method group.到目前为止,我一直在开发一款游戏,我遇到了一个问题,它说我无法分配某些东西,因为它是一个方法组。 It may have something to do that it wasn't in C# format or something.它可能与它不是 C# 格式或其他格式有关。 Thanks in advance提前致谢
void OnCollisionEnter(Collision other)
{
if(other.relativeVelocity.magnitude > 3)
{
GameObject _exp = Instantiate(exp, transform.position, transform.rotation);
Destroy(_exp, 3);
knockBack();
Destroy(gameObject);
}
}
void knockBack(){
Collider[] colliders = Physics.OverlapSphere(transform.position, radius);
foreach (Collider nearyby in colliders)
{
Rigidbody rigg = nearyby.GetComponent<Rigidbody>();
if(rigg != null)
{
rigg.AddExplosionForce(expForce, transform.position, radius);
}
}
}
void ImpactReceiver()
{
Collider[] colliders = Physics.OverlapSphere(explosionPosition, radius);
foreach (var hit in colliders)
{
if (GetComponent<Rigidbody>())
{
GetComponent<Rigidbody>().AddExplosionForce(explosionPower, explosionPosition, radius, 3f);
}
else
{
var script = ImpactReceiver = hit.transform.GetComponent<ImpactReceiver>();
if (script)
{
var dir = hit.transform.position - explosionPosition;
var force = Mathf.Clamp(explosionPower / 3, 0, 15);
script.AddImpact(dir, force);
}
}
}
}
your problem is that you are assigning to 'ImpactReceiver',你的问题是你分配给'ImpactReceiver',
var script = ImpactReceiver = hit.transform.GetComponent<ImpactReceiver>();
it is a method.这是一种方法。
void ImpactReceiver()
You cant do that.你不能那样做。 Sadly its not clear what you are trying to do so its hard to suggest what to do可悲的是,不清楚您要做什么,因此很难建议该做什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.