欢迎来到我们的狗刨网,今天我要和大家分享今天我主要做的东西,虽说不多,但是我是很认真的做的。虽说代码很简单。
问题:今天坐那项目遇到了一个问题,就是血条在设置好一定的进度以后,当你达到一定的进度的时候,血条就不会再往前走。但是我设置的血条在达到一定的进度以后接着往前走。
解决办法:在自己设置的血条里面加个if语句,比如说当设置的hp的值超过100时,设置好血条的进度。
代码如下:
先在类的外部设置:
public Texture2D red;//设置2D的红色的文本
public Texture2D black;//设置的是黑色的文本
public int HP = 0;
bool flag = false;
在类的里面开始画文本:
HP = (int)Hero.lifetime;
if (HP <=100)
{
int blood_width = red.width * HP / 100;
GUI.DrawTexture(new Rect(20, 20, 100, 20), black);//画文本
GUI.DrawTexture(new Rect(20, 20, blood_width, 20), red);
}
else if(HP >100)
{//如果hp大于100,那么血条的宽度等于红色血条的宽度
int blood_width = red.width ;
GUI.DrawTexture(new Rect(20, 20, blood_width, 20), red);
}//这里设置的血条的宽度是红色血条的宽度
欢迎来到我们的狗刨网,每天我们都会更新新的内容,欢迎来我们的狗刨网浏览。