- Home /
Transparency When DistanceProblem
So I'm trying to make a sprite have a different alpha value when the player sprite is a certain distance from other people sprites. Right now I have no errors, but the code isn't doing what I want it to.
I have this code attached to each sprite that will affect the distance in order to decide the alpha of the overlay (a sprite that covers the entire screen).
using UnityEngine; using System.Collections;
public class transparentAnxiety : MonoBehaviour {
public GameObject overlay;
private Color alphaColor;
public GameObject sprite;
public GameObject player;
public float distance;
public void Start()
{
alphaColor = overlay.GetComponent<SpriteRenderer>().material.color;
alphaColor.a = 0;
overlay.GetComponent<SpriteRenderer> ().material.color = alphaColor;
}
public void Update()
{
distanceCheckSprite ();
}
public void distanceCheckSprite(){
distance = Vector3.Distance(player.transform.position, sprite.transform.position);
if (distance < 3){
alphaColor = overlay.GetComponent<SpriteRenderer> ().material.color;
alphaColor.a = .3f;
overlay.GetComponent<SpriteRenderer> ().material.color = alphaColor;
}
if (distance < 2) {
alphaColor = overlay.GetComponent<SpriteRenderer> ().material.color;
alphaColor.a = .6f;
overlay.GetComponent<SpriteRenderer> ().material.color = alphaColor;
}
if (distance < 1) {
alphaColor = overlay.GetComponent<SpriteRenderer> ().material.color;
alphaColor.a = 1;
overlay.GetComponent<SpriteRenderer> ().material.color = alphaColor;
}
if (distance > 3) {
alphaColor = overlay.GetComponent<SpriteRenderer> ().material.color;
alphaColor.a = 0;
overlay.GetComponent<SpriteRenderer> ().material.color = alphaColor;
}
}
}
Any help would be awesome!
Comment
Your answer
Follow this Question
Related Questions
How to change the alpha of a sprite 1 Answer
Problems with 2D Collision 3 Answers
2D animation collision 1 Answer