- Home /
When hit and rotation is >= 90 score
Hello! I've got a problem. I want a gameobject that gets hit and when fallen to the ground the player will get 100 points.
this is my code:
**var points : int = 0;
var kubbRotation = Quaternion;
var guiScore : GUIText;
function Update ()
{
guiScore.text = "Score: ";
}
function OnCollisionEnter(col : Collision)
{
if(col.collider.name == "Pinne(Clone)")
{
print(col.collider.name + " is hit");
if(gameObject.transform.localEulerAngles.x >= 80.0 && gameObject.transform.localEulerAngles.x <= 270.0
|| gameObject.transform.localEulerAngles.y >= 80.0 && gameObject.transform.localEulerAngles.y <= 270.0
|| gameObject.transform.localEulerAngles.z >= 80.0 && gameObject.transform.localEulerAngles.z <= 270.0)
{
points += 100;
guiScore.text = "Score: " + points;
print("Score: " + points);
}
}
}**
So when my Pinne(Clone) hits the gameObject, let's call it "Pelle", it says that it's hitted by Pinne(Clone) and everything is good. But when "Pelle" is on the ground and its rotation axis is greater or equal to 90 the player sometimes get points and sometimes they don't.
I have tried to replace the second if to a while loop.
Can anyone help me? :)
I'm not too sure about this. I know i had some similar issues in C# with adding up points using the += method. I had to use " points = points + 100" It seems to override the score if you don't (at least it did for me). Assu$$anonymous$$g that your character is receiving points the first time, but not after that point.
Well, the problem isn't really the score, the problem is that it does not go into my second if loop so I will get points...
But thanks for the answer :)
If could be the way its calculating the operations. $$anonymous$$aybe add some extra parentheses. Just a guess but i'm not really going to play with your If statement much because im not sure what you are trying to do but from a logical standpoint you could try.
if((gameObject.transform.localEulerAngles.x >= 80.0 && gameObject.transform.localEulerAngles.x <= 270.0)
|| (gameObject.transform.localEulerAngles.y >= 80.0 && gameObject.transform.localEulerAngles.y <= 270.0)
|| (gameObject.transform.localEulerAngles.z >= 80.0 && gameObject.transform.localEulerAngles.z <= 270.0))
Your answer
Follow this Question
Related Questions
Player rotating after wall collision 1 Answer
Questions about rotation. 1 Answer
Collision with cube isn't working when Instantiate clone it 2 Answers
Collider2Ds acting glitchy 0 Answers
Why do Articulated Body Joints Drift 1 Answer