攻击可以让敌人三秒钟攻击一次,坦克的移动可以使用随机出随机出v和h的值
坦克自动攻击
void Update()
{
//攻击的时间间隔
if (timeVal > 3f)
{
Attack();
}
else
{
timeVal += Time.deltaTime;
}
}
private void Attack()
{
//实例化函数 第一个参数为object,第二个为位置,第三个为旋转
Instantiate(bulletPrefab, transform.position, Quaternion.Euler(bulletEulerAngles));
timeVal = 0;
}
坦克旋转
添加计时器。
private float timeValChangeDirection; //改变方向的时间计时器
private float v;
private float h;
随机数移动,往下移动的概率最大,往上移动的概率最小,2s移动一次
if(timeValChangeDirection >= 2f)
{
int num = Random.Range(0, 8);//往下面走的几率最大
if(num > 5)
{
v = -1;
h = 0;
}
else if(num == 0) //往上走的几率最小
{
v = 1;
h = 0;
}
else if(num > 0 && num <= 2)