今天我们主要学习了一些新的知识。
1、怪物在离主角一定距离的时候,开始走向主角,并攻击主角。主角也一样。
首先,先给怪物加一个脚本。脚本先定义一个导航网格的一个对象,在start方法中获取导航网格的组件。然后在update方法中调用SetDestination( )方法,方法厘米的参数是主角的位置,这样怪物局可以走向主角了。
在这之前可以通过调用Vextort3.Distance()方法来判断,里面有2个参数,前面是怪物的位置,后面是主角的位置。
判断两者之间的距离代码
Transform player;
//声明主角
Vector3.Distance( transform.position, player.position);
//怪物到主角的位置,是一个float型。
2、主要学习了血条,
先声明2张2D图片(最好是黑色和红色的,这是一般游戏用的),黑的作为背景色,红的作为血条,然后定义一个初始血量HP,让它等于100,
然后通过改变HP的值来改变红色图片的长度,这样就可以改变血条。
Texture2D black;
Texture2D red;
int rd_width=red_width*HP/100;
//红色图片的长度随HP的改变而改变,
然后,通过GUI.DrawTexture 方法来绘制出黑色图片,然后在黑色图片的上面用红色图片覆盖住即可。
GUI.DrawTexture(new Rect( 20,20,black_width, black_height),black);
//描绘出黑色图片
GUI.DrawTexture(new Rect(20,20.rd_width,red_height),red);
//在黑色图片的上面用红色图片覆盖住,2张图片一样大小。
3、在游戏中插入声音
主要有2种,一种是背景音乐,建一个空对象,然后给空对象先加一个耳朵Audio Listener,然后再加一个Audio Source,把音乐拖进去,然后在属性中点击loop,这样就可以循环了。这一种一般是背景音乐,一般是2D音乐,在属性中把3D属性的勾给去了。
第2种是通过代码来添加音乐,
先声明声音和声音的来源,
Public AudioClip clip;
//声明声音
Private AudioSource source;
//声音的来源。
然后在start方法中把source初始化
Void Start(){
source=this.audio;
}
然后通过调用PlayOneShot()方法来实现,里面的参数是声音clip,
即source.PlayOneShot( clip);