https://imgur.com/Z2O6Gqj
我的hp C#程式码原本是挂到生命数值的text UI上
我以为要修改怪物血量 即游戏画面右边的生命数值
也得把程式码挂到生命数值怪物text UI上
条件与数值都选择好后 按拨放发现这样会发生标题所述的问题
后来尝试了一翻 原来不用把程式码挂到生命数值怪物text UI上
只要把生命数值怪物text UI 放入"生命数值"里面的C#就好 这样就能正常运作
也就是在物件中相同的C#只要有一个就好
但我还是不明白 两个物件有相同的C#程式码 里面的东西选择也相同
为什么有些东西要消失才能运作
我的程式码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class HP : MonoBehaviour
{
public Text HPtext;
public float hp;
public float mixhp;
public Image bar;
public Text HPmtext;
public Text lvtext;
//public float atkm; //暂时用不到
public float atk;
public float hpm;
public float lv;
public float exp;
void Start()
{
hp = 10;
mixhp = 100;
lv = 1;
//atkm = 15;
atk = 10;
hpm = 100;
Dispmhp(); //这个消失才能运作
displayhp();
}
public void Sleep()
{
if (hp < mixhp)
{
hp += 10;
displayhp();
}
}
void Update()
{
bar.transform.localPosition = new Vector3(-129 + 129 * (hp / mixhp),
0f, 0f);
}
public void displayhp()
{
HPtext.text = hp.ToString();
}
public void Attack()
{
hpm -= atk;
if (hpm <= 0)
{
exp += 2;
Exp();
hpm = 100;
Dispmhp();
}
Dispmhp();
}
public void Exp()
{
if (exp >= 10)
{
exp = -10;
lv += 1;
lvtext.text = lv.ToString();
}
}
public void Dispmhp()
{
HPmtext.text = hpm.ToString();
}
}