距离"/>
Unity学习之绘制血条及仇恨距离
欢迎大家来到我的博客.php?mod=space&uid=3352&do=blog&view=me&from=space
在Unity中如何绘制人物血条
思路就是使用GUI绘制两张图片,一张图片是红色图片,一张图片是黑色图片,黑色图片条是固定的,然后红色图片是人物的生命值,再利用人物生命值减少,增加的百分比来绘制红色图片的宽度,这样就可做出人物血条的效果。
//红色血条
public Texture2D blood_Red;
//黑色血条
public Texture2D blood_Black;
//当前血值
public int HP = 100;
void OnGUI()
{
//测试生命值增加的自动生成的按钮
if (GUILayout.RepeatButton("Add"))
{
//增加血值
if (HP < 100)
{
HP++;
}
}
//测试生命值减少的自动生成的按钮
if (GUILayout.RepeatButton("Sub"))
{
//减少血值
if (HP > 0)
{
HP--;
}
}
//根据当前血量计算红色血条显示的宽度
int blood_width = blood_Red.width * HP / 100;
//绘制黑色血条
GUI.DrawTexture(new Rect(100, 100, blood_Black.width, blood_Black.height), blood_Black);
//绘制红色血条
GUI.DrawTexture(new Rect(100, 100, blood_width, blood_Red.height), blood_Red);
}
利用Vector3中的Distance方法计算两个三维坐标之间的距离来进行到达怪物仇恨距离,怪物自动攻击
if (Vector3.Distance(transform.position, hero.position) < 2f)
{
if (lifeTime > 0)
{
AnimationToAttack();
}
else if (lifeTime == 0)
{
AnimationToDying();
}
}
请继续关注我的博客
.php?mod=space&uid=3352&do=blog&view=me&from=space
更多精彩尽在/
更多推荐
Unity学习之绘制血条及仇恨距离
发布评论