Question by
Roger3d · Apr 29, 2020 at 07:01 PM ·
movementtransform.position
Change character direction on triggerEnter
When character enter into the trigger, this trigger turns true or false the bool (toNorth, or toEast) to change the direction. When is triggered, the character rotate, but don't go to the right (east), stay at the position where triggered. I'm using a characterController. Thanks so much!
private int desiredLane = 0;
private float CenterLaneX;
private float MovementX = 7.0f;
void Update() {
//RunningNorth
if (toNorth == true)
{
Vector3 targetPosition = transform.position.z * Vector3.forward;
Vector3 moveVector = Vector3.zero;
moveVector.x = ((CenterLaneX + desiredLane * LANE_DISTANCE) - transform.position.x) * MovementX;
moveVector.y = verticalVelocity;
moveVector.z = speed;
thePlayer.Move(moveVector * Time.deltaTime);
toEast = false;
}
//RunningEast
if (toEast == true)
{
Vector3 targetPosition = transform.position.x * Vector3.forward;
Vector3 moveVector = Vector3.zero;
moveVector.z = ((CenterLaneX + desiredLane * LANE_DISTANCE) - transform.position.z) * MovementX;
moveVector.y = verticalVelocity;
moveVector.x = speed;
thePlayer.Move(moveVector * Time.deltaTime);
transform.rotation = Quaternion.Euler(0, 90, 0);
toNorth = false;
}
}
Comment