[請益] Unity 播放時 同時暫停詳細原因

作者: justatree (justatree)   2019-08-10 19:40:01
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();
}
}
作者: wangm4a1 (水兵)   2019-08-10 20:28:00
暫停是有錯嗎? 有錯就看錯誤訊息吧
作者: sakyer (石理克)   2019-08-10 20:53:00
丟專案出來看比較快
作者: wangm4a1 (水兵)   2019-08-10 20:59:00
錯誤訊息就會說它哪裡錯了 程式碼當然不會寫
作者: BSpowerx (B.S)   2019-08-10 21:14:00
我猜你的GameObject上的HPmtext是空的 沒掛東西進去
作者: justatree (justatree)   2019-08-10 21:16:00
我試試看 這樣錯誤會不會出來
作者: BSpowerx (B.S)   2019-08-10 21:23:00
Window->General->Console 視窗建議隨時開著,寫遊戲過程學怎麼除錯很重要。有錯會暫停也是這邊可以設定
作者: justatree (justatree)   2019-08-10 21:29:00
OK 感謝建議 我會再試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com