using System.Collections;using System.Collections.Generic;using UnityEngine;publicclassTank:MonoBehaviour{publicGameObject Bullet;//子弹的预制体publicTransform ShotPos;//子弹发出的位置publicbool gameover;publicfloat lastFireTime =0;publicfloat pressTime =0;// Start is called before the first frame updatevoidStart(){}// Update is called once per framevoidUpdate(){if(gameover)return;if(Input.GetButtonDown("Fire1")){
pressTime = Time.time;}if(Input.GetButton("Fire1")&&Time.time - lastFireTime>0.2f){//每一帧计算当前时间-按下时间之差dfloat d = Time.time - pressTime;//实例化一个子弹;var transProj =Instantiate(Bullet).transform;float f = d /2;//最大2秒内有变化,超过2秒使用最高音高系数(1)if(f >1){
f =1;}
transProj.GetComponent<AudioSource>().pitch =1+ f *2;//设置子弹的父节点;
transProj.SetParent(transform,false);//设置子弹的坐标;
transProj.position = ShotPos.position;//给子弹一个力,可以让子弹往前移动;Vector3 v = ShotPos.forward *20;
transProj.GetComponent<Rigidbody>().AddForce(v, ForceMode.Impulse);
lastFireTime = Time.time;}}}