[请益] 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