public float EnemySpeed;
public Transform TargetPosition;
void Start ()
{
TargetPosition = GameObject.FindGameObjectWithTag ("Player").transform;
}
void Update () {
}
void OnCollisionEnter2D(Collision other)
{
if (other.gameObject.tag=="Player")
{
transform.position = Vector2.MoveTowards (transform.position, TargetPosition, EnemySpeed * Time.deltaTime); //error here
}
}
}
so its saying the error happens here:
Vector2.MoveTowards()
problem with argument #2:
Vector2.MoveTowards (transform.position, TargetPosition, EnemySpeed * Time.deltaTime);
documentation says arguments for this method are: (Vector2, Vector2, Float)
public static Vector2 MoveTowards(Vector2 current, Vector2 target, float maxDistanceDelta);
and since TargetPosition is Transform, you cannot use it as an Vector2 argument there
public Transform TargetPosition
so get the position from that transform:
Vector2.MoveTowards (transform.position, TargetPosition.position, EnemySpeed * Time.deltaTime);
could also rename TargetPosition into targetTransform, so its easier to remember what it is.
1 Like
Thx i resolve it