- Home /
Using raycast - Why can't I get a variable on the object I hit?
I am trying to make my zombie get physics.AddForce applied, that's not the problem. My problem is, on my Bullet scipt, the one I shoot with, I'm trying to set a public static Vector3 in a script on my zombie to the vector3 of my bullet direction (because I'm trying to add direction to my AddForce with:
dir = target.transform.position - transform.position;
dir = dir.normalized;
rigidbody.AddForce(dir * force);
). So my main problem is, setting that variable. It's static and public (which shouldn't matter). When I create a random script and try to access the variable from there, I use
KillZombie.raycastDirection
with KillZombie being the script on my zombie which has the AddForce command, and raycastDirection being the variable that I want to set from my bullet script. When I type it out, it "auto completes" as usual, but on my bullet script, it doesn't. I've tried all of these:
if (hit.transform.GetComponent<KillZombie>().raycastDirection)) {
//Do Stuff
}
if (hit.transform.parent.GetComponent<KillZombie>().raycastDirection)) {
//Do Stuff
}
if (hit.gameObject.transform.GetComponent<KillZombie>().raycastDirection)) {
//Do Stuff
}
And I have to do it like this, not:
if (KillZombie.raycastDirection)
obviously because I'm using an if statement to see if the instantiated object I'm shooting has the "KillZombie" script. Please help me! I'm pretty sure it's right in front of me, but I don't know why it's not working. Thanks if you read this!
Answer by Bunny83 · Mar 18, 2014 at 02:41 AM
Uhm, if it's a static variable it means it's a class variable and doesn't belong to an instance of that class. There is only one variable and you can only access it via the class name like you did:
KillZombie.raycastDirection
If you want each instance of the KillZombie class to have it's own raycastDirection variable remove the static and make it an instance variable.
Your answer
Follow this Question
Related Questions
Stop the lasers from keep bouncing 1 Answer
Door only opening once on Raycast 1 Answer
Raycast detects box collider, but not capsule collider 0 Answers
Boxcast vs Raycast Oddities 1 Answer
How to place an object in the direction of a raycast 1 Answer