Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity滑块填充在开始时不断消失_C#_Unity3d - Fatal编程技术网

C# Unity滑块填充在开始时不断消失

C# Unity滑块填充在开始时不断消失,c#,unity3d,C#,Unity3d,所以我在Youtube上关注着那个生存射击者,尽管我已经把这个角色做好了,但我还是遇到了一些恼人的、不可思议的小故障。在我制作滑块的那天,它工作得很好。现在,即使值为100,填充也会不断消失。另外,他们用于初始化滑块和图像的代码现在不起作用,因此我查找了另一个代码,它现在起作用了。我使用的是2019.3.0f6版。这是我的密码 using System.Collections; using System.Collections.Generic; using UnityEngine; using

所以我在Youtube上关注着那个生存射击者,尽管我已经把这个角色做好了,但我还是遇到了一些恼人的、不可思议的小故障。在我制作
滑块的那天,它工作得很好。现在,即使值为100,填充也会不断消失。另外,他们用于初始化
滑块
图像
的代码现在不起作用,因此我查找了另一个代码,它现在起作用了。我使用的是2019.3.0f6版。这是我的密码

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

public class PlayerHealth : MonoBehaviour{
    int initHp = 100;
    public int currentHp;
    public Slider hpSlider;
    public Image dmgImg;
    AudioClip deathClip;
    float flashSpd = 5f;
    Color flashColor = new Color(1f, 0f, 0f, 0.1f);

    Animator animator;
    AudioSource playerAudio;
    PlayerMovement playerMovement;
    PlayerShooting playerShooting;
    bool isDead;
    bool isDamaged;

    void Awake() {
        animator = GetComponent<Animator>();
        playerAudio = GetComponent<AudioSource>();
        playerMovement = GetComponent<PlayerMovement>();
        playerShooting = GetComponentInChildren<PlayerShooting>();
        currentHp = initHp;
    }

    void Start(){
        if (GameObject.FindGameObjectWithTag ("hpSlider")) {
            hpSlider = (Slider) FindObjectOfType(typeof (Slider));
        }
        if (GameObject.FindGameObjectWithTag ("dmgImg")) {
            dmgImg = (Image) FindObjectOfType(typeof (Image));
        }
    }

    // Update is called once per frame
    void Update(){
        if(dmgImg != null){
            if(isDamaged){
                dmgImg.color = flashColor;
                Debug.Log("flash color");
            }else{
                dmgImg.color = Color.Lerp(dmgImg.color, Color.clear, flashSpd * Time.deltaTime);
            }
        }
        dmgImg.color = Color.Lerp(dmgImg.color, Color.clear, flashSpd * Time.deltaTime);
        isDamaged = false;
        Debug.Log("currentHp: "+currentHp+" sliderVal: "+hpSlider.value);
    }

    public void TakeDamage(int amt){
        isDamaged = true;
        currentHp -= amt;

        // hpSlider.value = currentHp;
        Debug.Log("currentHp: "+currentHp+" sliderVal: "+hpSlider.value);

        playerAudio.Play();

        if(currentHp <= 0 && !isDead){
            Death();    
        }
    }

    public void Death(){
        isDead = true;
        animator.SetTrigger("Die");

        // playerAudio.clip =   deathClip;
        // playerAudio.Play();

        playerMovement.enabled = false;
        playerShooting.enabled = false;
    }
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
公共级玩家健康:单一行为{
int initHp=100;
公共部门;
公共滑块;
公共形象管理;
音频剪辑死亡剪辑;
浮子闪光SPD=5f;
颜色flashColor=新颜色(1f、0f、0f、0.1f);
动画师;
音频源播放器音频;
PlayerMovement PlayerMovement;
戏院戏院戏院;
布尔死了;
布尔被破坏了;
无效唤醒(){
animator=GetComponent();
playerAudio=GetComponent();
playerMovement=GetComponent();
playerShooting=getComponentChildren();
currentHp=initHp;
}
void Start(){
if(GameObject.FindGameObjectWithTag(“hpSlider”)){
hpSlider=(Slider)FindObjectOfType(typeof(Slider));
}
if(GameObject.FindGameObjectWithTag(“dmgImg”)){
dmgImg=(Image)FindObjectOfType(typeof(Image));
}
}
//每帧调用一次更新
无效更新(){
如果(dmgImg!=null){
如果(已损坏){
dmgImg.color=闪光颜色;
Debug.Log(“flash color”);
}否则{
dmgImg.color=color.Lerp(dmgImg.color、color.clear、flashSpd*Time.deltaTime);
}
}
dmgImg.color=color.Lerp(dmgImg.color、color.clear、flashSpd*Time.deltaTime);
isDamaged=假;
Debug.Log(“currentHp:+currentHp+”sliderVal:+hpSlider.value”);
}
公共财产损失(国际金额){
isDamaged=正确;
当前hp-=金额;
//hpSlider.value=当前HP;
Debug.Log(“currentHp:+currentHp+”sliderVal:+hpSlider.value”);
playerAudio.Play();

如果(currentHp您可以使用
[Range()]
属性,它的工作原理如下:

[范围(0,100)]公共int当前HP


很抱歉没有发表评论,因为我看到这不是答案,但我的代表太低(:

对于StackOverflow问题,没有什么比得上好的旧-1。我将尝试这样做