Невозможно преобразовать тип `UnityEngine.Transform 'в` UnityEngine.GameObject' - PullRequest
0 голосов
/ 28 октября 2019

Я следую учебному пособию для 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);
    }

1 Ответ

1 голос
/ 28 октября 2019

Вы не можете разыграть 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);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...