Hey all, I’m having trouble wracking my brain trying to figure out why my elevator going up is smooth but coming down it is very jerky in motion. Any help would be greatly appreciated. Thanks for your time.
using UnityEngine;
using System.Collections;
public class ElevatorController : MonoBehaviour {
public float elevator_speed;
public bool going_down = true;
public bool going_up = false;
public GameObject Elevator1;
// Use this for initialization
void Start ()
{
going_up = false;
elevator_speed = 0;
}
void OnCollisionStay2D(Collision2D coll)
{
var xfer = GetComponent<Transform>();
if (coll.gameObject.tag == "hero")
if (going_down == true)
{
elevator_speed = 2;
xfer.Translate(Vector3.down.normalized * elevator_speed * Time.deltaTime); //going down is herky jerky
}
else if (going_down == false && xfer.position.y < -0.57f)
{
//gameObject {Get Elevator1}
//elevator = gameObject.tag == "elevator";
elevator_speed = 2;
xfer.Translate(Vector3.up * elevator_speed * Time.deltaTime); //going up is smooth
}
if (coll.gameObject.tag == "elevator_bottom")
{
going_down = false; // does not work
elevator_speed = 0; // does not work
}
}
}