- Home /
scaling Box (Health)
I'm about ready to let friends everywhere play my game... but the last element to add is the health bar registering damage. In another function I detect collision... but here, in the function below i should be passing the damage variable from another location into this function to calculate the actual number. I'm just tryiing to scale the object's width from 8 down to 0 one piece at a time... Nothing is working.
private void success(){
hpWidth-=1.0f;
health.transform.lossyScale = new Vector3(Mathf.Clamp (health.transform.lossyScale.x-=hpWidth),
health.transform.lossyScale.y,
health.transform.lossyScale.z);
//health.transform.Translate(2.0f, 0.6000001f, 0.5f);//when attacked my health changes
}
Well, "nothing is working" is a vague description. You could start by removing the -= in line 3. That is not expected to work since lossyScale is a property and you are trying to modify a component of a temporary value. Try - ins$$anonymous$$d of -= on line 3.
Second is that you probably want to use $$anonymous$$athf.Clamp01, or you want to specify the $$anonymous$$ and max values to clamp with.
If you still have problems, please let us know what errors you are getting.
Nothing is working was a descriptor, not an order... I appreciate your help, but this is the error i'm receiving after using your advice
error CS0200: Property or indexer `UnityEngine.Transform.lossyScale' cannot be assigned to (it is read only)
Answer by T27M · Dec 22, 2013 at 01:24 AM
I think you are looking for transform.localScale
Your answer
Follow this Question
Related Questions
healthbar with scale 0 Answers
Scale box collider to camera view? 2 Answers
smooth scailing (gui title image) 0 Answers
Why is my tree so gigantic? 2 Answers