作者justatree (justatree)
看板GameDesign
標題[請益] Unity 播放時 同時暫停詳細原因
時間Sat Aug 10 19:40:01 2019
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();
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.77.135.69 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1565437204.A.58B.html
※ 編輯: justatree (119.77.135.69 臺灣), 08/10/2019 19:47:56
→ wangm4a1: 暫停是有錯嗎? 有錯就看錯誤訊息吧 08/10 20:28
我點錯誤訊息 就是跳到void star()中的Dispmhp();
我要把它註解掉 遊戲才能運作 但我還是搞不懂哪裡錯了
C#程式碼裡面也沒有說它有錯誤QQ
※ 編輯: justatree (119.77.135.69 臺灣), 08/10/2019 20:41:18
推 sakyer: 丟專案出來看比較快 08/10 20:53
我剛想重現那個錯誤 但很尷尬 我重做一遍遊戲居然運作成功......
下次我會先把錯誤訊息和專案複製下來
→ wangm4a1: 錯誤訊息就會說它哪裡錯了 程式碼當然不會寫 08/10 20:59
恩.....我當時沒很仔細看錯誤訊息
很直覺的想說他會連結到程式碼就點進去看什麼問題
※ 編輯: justatree (119.77.135.69 臺灣), 08/10/2019 21:15:39
推 BSpowerx: 我猜你的GameObject上的HPmtext是空的 沒掛東西進去 08/10 21:14
大大 你應該是對的 我當時應該是其中一個物件上的HPmtext是空的才會產生這樣的錯誤
非常感謝 答案出來啦!
→ justatree: 我試試看 這樣錯誤會不會出來 08/10 21:16
※ 編輯: justatree (119.77.135.69 臺灣), 08/10/2019 21:18:35
推 BSpowerx: Window->General->Console 視窗建議隨時開著,寫遊戲過 08/10 21:23
→ BSpowerx: 程學怎麼除錯很重要。有錯會暫停也是這邊可以設定 08/10 21:23
→ justatree: OK 感謝建議 我會再試試看 08/10 21:29