我正在关注2D平台游戏者的教程,遇到了这个错误,但我还没有找到解决方案。我是代码和GameDev的新手。
我尝试将变量声明下的类型从Transform更改为GameObject,以清除编译错误,但随后在Unity“ InvalidCastException”中引发新错误。
对不起,如果这是一个简单的修复程序,这对我来说是全新的。
public void _KillEnemy(Enemy _enemy)
{
GameObject _clone = Instantiate(_enemy.deathParticles, _enemy.transform.position, Quaternion.identity) as GameObject;
Destroy(_clone, 5f);
cameraShake.Shake(_enemy.shakeAmt, _enemy.shakeLength);
Destroy(_enemy.gameObject);
}
答案 0 :(得分:1)
您不能将Transform
投射到GameObject
。您需要调用gameObject
的属性Transform
。查看更多:https://docs.unity3d.com/ScriptReference/Component-gameObject.html
public void _KillEnemy(Enemy _enemy)
{
GameObject _clone = Instantiate(_enemy.deathParticles, _enemy.transform.position, Quaternion.identity).gameObject;
Destroy(_clone, 5f);
cameraShake.Shake(_enemy.shakeAmt, _enemy.shakeLength);
Destroy(_enemy.gameObject);
}