欢迎大家光临我的博客!
知识点:
1、为了让敌人和主角保持一定的距离,我们运用的是Vector3.Distance( )方法,Distance这个方法代表了两点之间的距离,调用这个方法可以让敌方在一定距离之内追踪我的位置。
2、接下来是血条的制作,首先这个用到了GUI的知识点,首先在方法外面声明Texture2D,然后创建一个OnGUI方法,用GUI的DrawTexture来实现血条。
3、小动作的声音的添加,比如攻击的动作发出的声音。
一、判断我和敌人的距离
//如果敌人的位置和我的位置小于4米
Vector3.Distance(transform.position, girl.position) < 4f
//然后就调用下面这个方法
AnimationToWalk();
agent.SetDestination(girl.position);
//否则如果他俩的距离大于4米
else if (Vector3.Distance(transform.position, girl.position) >4f)
{
AnimationToMode(); //调用这个Mode方法
agent.SetDestination(transform.position); //然后让敌人自身停留在原地
}
二、制作血条
先来看一下效果图:
//先定义两个贴图,一个前景色,一个背景色,贴图自己可以随意选择
public Texture2D blood_Red;
public Texture2D blood_Black;
public int HP = 100; //当血值达到100时,血条充满状态
//把贴图一定记得添加↓
//根据当前血量计算红色血条显示的宽度
int blood_width = blood_Red.width * Girl.lifeTime / HP;
//绘制黑色血条
GUI.DrawTexture(new Rect(20, 20, blood_Black.width, blood_Black.height), blood_Black);
//绘制红色血条
GUI.DrawTexture(new Rect(20, 20, blood_width, blood_Red.height), blood_Red);
//给文字改一下颜色
GUI.color = Color.green;
//在左上角显示生命值
GUI.Label(new Rect(20, 20, 100, 35), "生命值为:" + girlLifeTime);
三、声音的添加
public AudioClip clip; //声明一个clip音频
private AudioSource girlAudio; //声明一个静态的音频来源
void Start()
{
girlAudio = this.audio; //初始化一下
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "Mouse") //当主角碰到标签为Mouse的对象时执行下面的操作
{
girlAudio.audio.PlayOneShot(clip); //播放clip这个音频
}
}