一 说明
精灵名称:激光炮(laser)
功能:每间隔2s发射一次,发射时间持续1s。激光长度不固定,光柱自由射出后遇到阻挡则不再前进,即为长度。
样式:如下图
二 动画
1.说明 整个激光炮由四部分组成,炮身、炮口激光花、光柱、炮尾激光花。结构如下图,其中炮身是父节点,其余元素为子节点。主动画和逻辑控制脚本加到了炮身上(激光花的动画加在了炮口和炮尾)。打炮的动画状态机由两个子动画组成,分别是静止和播放。控制参数为state。
2.代码
所需变量
private Animator animator;
// 发射动画持续时间
public float LaunchingTime = 1.0f;
// 持续间隔
public float IntervalTime = 2.0f;
// 一个发射周期的时间 = IntervalTime + LaunchingTime
private float cycleTime;
// 临时累计时间,一个周期结束后清零
private float AccTime =-1.0f;逻辑处理
void Start() {
animator = gameObject.GetComponent<Animator> ();
cycleTime = IntervalTime + LaunchingTime;}
void Update() {
if (state =&#