Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C# выдает ошибку СЫ1525

Арслан Хибатуллин Ученик (128), на голосовании 4 месяца назад
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SocialPlatforms.Impl;

public class Pipe : MonoBehaviour
{
public float speed;

private void Update()
{
transform.Translate(Vector2.left * speed * Time.deltaTime);
}


private void OnTriggerEnter2D(Collider2D other)
{
if (other.TryGetComponent<Player>(out ))
{
ScoreManager.Instance.SetScore(1);
}

}

вот мой код
ошибку выдает на этом месте
if (other.TryGetComponent<Player>(out ))
Голосование за лучший ответ
Иван Сигаев Искусственный Интеллект (154163) 5 месяцев назад
А где переменная, в которую будет возвращаться значение?
Jurijus Zaksas Искусственный Интеллект (445791) 5 месяцев назад
Оператору if требуется булевское значение. В отличие от многих С-подобных языков, C# требует его очень строго - никакких там компромиссов с нулями, нулевыми указателями и всем прочим. А сдаеццо мне, что TryGetComponent либо возвращает не булевское значение, либо ты потерял переменную, в которую какое-то значение должно возвращаться еще.
Magic Знаток (288) 5 месяцев назад
private void OnTriggerEnter2D(Collider2D other)
{
Player player;
if (other.TryGetComponent<Player>(out player))
{
ScoreManager.Instance.SetScore(1);
}
}
Похожие вопросы