- Home /
Question by
rOBY GAMES · May 21, 2015 at 11:28 AM ·
errorgameenemyfollow
C # script error CS1729.
Error CS1729: The type UnityEngine.Vector2 'does not contain a constructor That takes
1' arguments
script:
using UnityEngine;
using System.Collections;
public class EnemyInseguePlayer : MonoBehaviour {
public Transform player;
public float playerDistance;
public Vector2 playerXAxis;
public float moveSpeed;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
playerDistance = Vector3.Distance (player.position, transform.position);
if(playerDistance < 15f)
{
LookAtPlayer ();
}
if(playerDistance < 12f)
{
chase ();
}
}
void LookAtPlayer()
{
Vector2 playerXAxis;
playerXAxis = new Vector2 ( player.position.x);
}
void chase()
{
transform.Translate (Vector3.forward * moveSpeed * Time.deltaTime);
}
}
Comment
Hello, A vector2 takes two arguments, that is why it is called Vector2. Your PlayerXAxis is a float here.
Answer by mikelortega · May 21, 2015 at 11:41 AM
If you want to save the position in the X axis, use a float for playerXAxis.
playerXAxis = player.position.x;
If you want to save coords in a vector, you have to fill in the two parameters. For example, in line 36:
playerXAxis = new Vector2(player.position.x, player.position.y);
I modified the script.
Now the enemy is chasing the player remains stationary.
I do not understand the problem. :-(
script:
using UnityEngine;
using System.Collections;
public class EnemyInseguePlayer : $$anonymous$$onoBehaviour {
public Transform player;
public float playerDistance;
public float playerXAxis;
public float moveSpeed;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
playerDistance = Vector3.Distance (player.position, transform.position);
if(playerDistance < 15f)
{
LookAtPlayer ();
}
if(playerDistance < 18f)
{
chase ();
}
}
void LookAtPlayer()
{
Vector2 playerXAxis;
playerXAxis = new Vector2(player.position.x, player.position.y);
}
void chase()
{
transform.Translate (Vector3.forward * moveSpeed * Time.deltaTime);
}
}
Your answer

Follow this Question
Related Questions
Find enemy problem. 1 Answer
Navmesh follow and stop at a distance 2 Answers
AI enemy scripting help 1 Answer
EnemyAI C# Error 1 Answer