Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by mdddarwin · Mar 07, 2019 at 02:01 PM · c#nullreferenceexceptionscript error

im having a problem lerping text color between 2 color

 using UnityEngine;
 using UnityEngine.UI;
 using System.Collections;
 
 public class CharacterStats : MonoBehaviour
 {
 
     private CharacterController characterController { get { return GetComponent<CharacterController>(); } set { characterController = value; } }
     private RagdollManager ragdollManager { get { return GetComponentInChildren<RagdollManager>(); } set { ragdollManager = value; } }
     public PlayerUI UI { get { return GetComponent<PlayerUI>(); } set { UI = value; } }
 
     private CharacterStats stats;
     private Weapon wp { get { return GetComponent<Weapon>(); } set { wp = value; } }
 
     private GameController gc{get{return GetComponent<GameController>();} set {gc = value;}}
 
     [Range(0, 100)]
     public int CurrentHealth = 100;
 
     public int Highheal = 100;
 
     public int Midheal = 50;
 
     public int Lowheal = 25;
 
     public int MaxHealth = 100;
 
     public int faction;
 
     public MonoBehaviour[] scriptsToDisable;
 
     public Image damageImage;
 
     public Image healImage;
 
     public float healFlashSpeed = 10f;
 
     public Color healFlashColor = new Color(1f, 0f, 0f, 1f);
 
     public float flashSpeed = 5f;
 
     public Color flashColor = new Color(1f, 0f, 0f, 0.5f);
 
     bool damage;
 
     bool heal;
 
     public Color LowHealth = Color.red;
 
     public Color FullHealth = Color.green;
 
     void Awake()
     {
         CurrentHealth = MaxHealth;
         CurrentHealth = Mathf.Clamp(CurrentHealth, 0, 100);
     }
 
     void Start()
     {
         
     }
 
     void Update()
     {
         if (gameObject.tag == "Player")
         {
             if (heal)
             {
                 healImage.color = healFlashColor;
             }
 
             else
             {
                 healImage.color = Color.Lerp(healImage.color, Color.clear, healFlashSpeed * Time.deltaTime);
             }
 
             heal = false;
         }
 
         if (gameObject.tag == "Player")
         {
             if (damage)
             {
                 damageImage.color = flashColor;
             }
             else
             {
                 damageImage.color = Color.Lerp(damageImage.color, Color.clear, flashSpeed * Time.deltaTime);
             }
             damage = false;
         }
         healthColorChange();
     } 
 
     public void Damage(int amount)
     {
         damage = true;
 
         CurrentHealth -= amount;
 
         if (CurrentHealth <= 0)
         {
             Die();
         }
     }
     public void Die()
     {
         characterController.enabled = false;
 
         if (scriptsToDisable.Length == 0)
         {
             return;
         }
         foreach (MonoBehaviour script in scriptsToDisable)
             script.enabled = false;
         if (ragdollManager != null)
             ragdollManager.RagDoll();
         if(gameObject.CompareTag("Enemy"))
         {
             Destroy(gameObject, Random.Range(4f, 5f));
         }
 
         if(gameObject.tag == "Player")
         {
             if(CurrentHealth <=0)
             {
                 gc.LastCheckPointPos = transform.position;
             }
         }
     }
 
     public void HighHeal()
     {
         if(gameObject.tag == "Player")
         {
             if (CurrentHealth > 100)
                 return;
 
             if(CurrentHealth < 100)
             CurrentHealth = Highheal;
             heal = true;
         }
     }
 
     public void MidHeal()
     {
         if(gameObject.tag == "Player")
         {
             CurrentHealth += Midheal;
             heal = true;
         }
     }
 
     public void LowHeal()
     {
         if(gameObject.tag == "Player")
         {
             CurrentHealth += Lowheal;
             heal = true;
         }
     }
 
     public void healthColorChange()
     {
         if(gameObject.tag == "Player")
         {
             UI.HealthText.color = Color.Lerp(FullHealth, LowHealth, CurrentHealth);
         }
     }
 }

then this is my player UI

using UnityEngine; using System.Collections; using UnityEngine.UI;

public class PlayerUI : MonoBehaviour { public Text ammoText; public Text HealthText; }

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by highpockets · Mar 07, 2019 at 02:19 PM

Looking at your code, I don't see you updating healFlashSpeed anywhere. So it looks like you are giving the lerp that takes that time value pretty much the same value every frame. You should change it each frame like so:

healFlashSpeed = healFlashSpeed + Time.deltaTime;

Plus the t value of color.lerp is clamped to 0-1.. If you pass a value equal to or more than 1, you will always get the end result (second color passed). To have the interpolation work properly, you need to treat 1 as if it is 100 percent, so 0.25f is 25 percent, 0.5f is 50 percent, etc. But I see that you are starting with a healFlashSpeed of 20f which is going to show 100 percent because its over 1.0f

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image mdddarwin · Mar 07, 2019 at 02:52 PM 0
Share

im sorry that you didn`t get my problem correctly because of my poor language skills, but my problem is my HealthText is not changing color from fullhealth to lowhealth which is green and red.

avatar image highpockets · Mar 07, 2019 at 08:39 PM 0
Share

Ok, that was my issue as I’m looking now and I must have missed “text” in your question. but it looks like the same issue as I explain. The first parameter will be returned from the lerp function if you pass the function 0 as the third float parameter, meaning full health should be 0 as the 3rd parameter and low health should be 1 as the third param. If you pass it 100, it should return your second parameter because it is more than 1

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

592 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

NullRefenceException error 1 Answer

NullReferenceException for reasons I don't understand. 1 Answer

NullReference when accessing GameObject in array (C#) 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges