Question by
arvebrink · Oct 15, 2017 at 08:23 PM ·
scripting problemscripting beginnerscriptingbasicsscritping
How to disable raycast/groundchecker on OnTriggerEnter?
Hello, I would love some help with disabling my ground checker, I'm a super novice. I'm trying to remove the ground checker on my player character when it touches a trigger to let the player jump indefinitely (fly/flap).
EDIT: Or actually make the raycast really long on trigger? Like changing it to 100
Thank you!
Here is my very simple trigger script:
public class StandardTrigger : MonoBehaviour {
public UnityEvent HappensInOnTriggerEnter;
private void OnTriggerEnter(Collider other)
{
HappensInOnTriggerEnter.Invoke();
Debug.Log(other.name);
}
And here's my jump-script:
public class JumpScript : MonoBehaviour
{
public float JumpForce = 100f;
public float GroundCheckRayLength = 1f;
public int JumpCount = 1;
public AudioSource JumpSource;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space) == true) // när/om vi trycker på space
{
if (Physics.Raycast(transform.position, Vector3.down, GroundCheckRayLength) == true || JumpCount > 0)// om vår raycast nuddar marken
{
JumpCount--;
rb.AddForce(Vector3.up * JumpForce); // om ovan är sant, hoppa uppåt
JumpSource.Play(); // om ovan är sant, spela ljudet
}
}
if (Physics.Raycast(transform.position, Vector3.down, GroundCheckRayLength) == true) // om vår raycast nuddar marken
{
JumpCount = 1;
//rb.AddForce(Vector3.up * JumpForce); // om ovan är sant, hoppa uppåt
//JumpSource.Play(); // om ovan är sant, spela ljudet
}
Debug.DrawRay(transform.position, Vector3.down * GroundCheckRayLength, Color.red, 0.1f);
}
}
Comment
Your answer
Follow this Question
Related Questions
random spawn enemy problem 0 Answers
Accessing script from another object 1 Answer
Disable and enable emission property of a material via C# script? 0 Answers
How can I temporary increase the size of an object? 2 Answers
I am trying to reference a bool from another script but the only value that it returns is false 0 Answers