enemy skips to point instead of sliding to point
this is the code for my enemy controller
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class SlimeController : MonoBehaviour {
public float moveSpeed;
private Rigidbody2D myrigidbody;
private bool moving;
public float timeBetweenMove;
private float timeBetweenMoveCounter;
public float timeToMove;
private float timeToMoveCounter;
private Vector3 moveDirection;
public float waitToReload;
private bool reloading;
private GameObject thePlayer;
void Start ()
{
myrigidbody = GetComponent<Rigidbody2D> ();
//timeBetweenMoveCounter = timeBetweenMove;
//timeToMoveCounter = timeToMove;
timeBetweenMoveCounter = Random.Range(timeBetweenMove * 0.75f, timeBetweenMove * 1.25f);
timeToMoveCounter = Random.Range(timeToMove * 0.75f, timeBetweenMove * 1.25f);
}
void Update ()
{
if (moving)
{
timeToMoveCounter -= Time.deltaTime;
myrigidbody.velocity = moveDirection;
if (timeBetweenMoveCounter < 0f)
{
moving = false;
//timeBetweenMoveCounter = timeBetweenMove;
timeBetweenMoveCounter = Random.Range (timeBetweenMove * 0.75f, timeBetweenMove * 1.25f);
}
}
else
{
timeBetweenMoveCounter -= Time.deltaTime;
myrigidbody.velocity = Vector2.zero;
if (timeBetweenMoveCounter < 0f)
{
moving = true;
//timeToMoveCounter = timeToMove;
timeToMoveCounter = Random.Range(timeToMove * 0.75f, timeBetweenMove * 1.25f);
moveDirection = new Vector3(Random.Range (-1f, 1f) * moveSpeed, Random.Range (-1f, 1f) * moveSpeed, 0f);
}
}
if (reloading)
{
waitToReload -= Time.deltaTime;
if (waitToReload < 0)
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
thePlayer.SetActive (true);
}
}
}
void OnCollisionEnter2D(Collision2D other)
{
/* if (other.gameObject.name == "Character")
{
other.gameObject.SetActive (false);
reloading = true;
thePlayer = other.gameObject;
} */
}
Take care to always format your code correctly with the 101010 button. This has been done for you.
Also note that the longer your code snippet is, the less likely you are to receive help.
In most cases we'll need a lot more of a description too.
Describe what you mean by skipping / sliding.
Based on your choice of words, what might be happening is that you're setting the velocity one frame, then immediately zeroing out that velocity the next? Check your logic to see if that could be the problem.
Your answer
Follow this Question
Related Questions
How to align 2d object to terrain? 2 Answers
Alternative for 2dGameKit's PhysicsHelper script??? 0 Answers
Unity 2D- How to role a polygon? 0 Answers
Walking around 2D planets? 1 Answer
[2D] Slide object after collision 2 Answers