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();
}
}