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; }