Question by
MichaelMorcos · Jan 07, 2021 at 07:13 PM ·
2d-gameplay2d platformer
Im trying to make a spider come down when the player hits a 2dCollider and go back up smoothly when the player is out of range. Please help
//Reference to rigidbody private Rigidbody2D ThisBody = null; //Reference to transform private Transform ThisTransform = null;
private bool web = false;
float speed = 5f;
private Vector2 Target = new Vector2(14.91f, 3.64f);
private Vector2 Target2 = new Vector2(14.91f, 5.8f);
private void Start()
{
ThisBody = GetComponent<Rigidbody2D>();
ThisTransform = GetComponent<Transform>();
}
void OnTriggerStay2D(Collider2D col1)
{
//If not player then exit
if (!col1.CompareTag("Player"))
{
web = false;
return;
}
//Damage player by rate
if (Player_Movement.PlayerInstance != null && col1.CompareTag("Player"))
//ThisBody.AddForce(Vector2.down * 10f);
{
web = true;
}
}
private void FixedUpdate()
{
if (web)
{
float step = speed * Time.fixedDeltaTime;
transform.position = Vector2.MoveTowards(transform.position, Target, step);
}
if(!web)
{
float step = speed * Time.fixedDeltaTime;
transform.position = Vector2.MoveTowards(transform.position, Target2, step);
}
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613022859im_/https://answers.unity.com/themes/thub/images/avi.jpg)