应为get或set访问器


using System.Collections.Generic;
using UnityEngine;
public class playercombat : MonoBehaviour
{
public Animator animator;
public Transform attackPoint;
public float attackRange = 0.5f;
public LayerMask enemyLayers;
public float AttackRange { get => attackRange; 0.5f => attackRange = 0.5f; }

// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{
Attack();
}
}
void Attack()
{
animator.SetTrigger("Attack");
Physics2D.OverlapCircleAll(attackPoint.postion, AttackRange, enemyLayers);
foreach (Collider2D enemy in hitEnemies) 
{
Debug.lot("Hit" + enemy.name);
}
}
void OnDrawGizmosSelected()
{
if (attackPoint == null)
return;
Gizmos.DrawWireSphere(attackPoint.position, AttackRange);
}
}

应为get或set访问器。这意味着什么?我该如何解决?Assets\playercombat.cs(13,52(:错误CS1014:需要获取或设置访问器Assets\playercombat.cs(13,60(:错误CS1014:需要的获取或设置访问器

您在AttackRange上的setter很奇怪。KYL3R的答案意味着,无论何时设置attakRange,都希望将其设置为0.5f。这似乎同样奇怪。我想你想要

public float AttackRange { get => attackRange; set => attackRange = value; }

打字?

public float AttackRange { get => attackRange; 0.5f => attackRange = 0.5f; }

应该是

public float AttackRange { get => attackRange; set => attackRange = 0.5f; }

在第12行,您有一个拼写错误:

public float AttackRange { get => attackRange; 0.5f => attackRange = 0.5f; }

您可能需要将其修改为:

public float AttackRange { get {return attackRange;}  set { attackRange = value; }}

public float AttackRange { get; set; }

最新更新