上次已经实现了人物的基本操作与相应动作,接下来,对于人物来说肯定要有各种各样的buff,比如加速、力量提升、减速、眩晕。
我把每一个buff都封装成一个类,这样当人物达成获得buff的条件时直接添加这个类就行了。
首先,新建一个类,上面说明冰冻的效果以及冰冻的时间或者更多想要的效果,当buff的持续时间到了就把这个类给移除掉就行了,用Destroy(this)移除buff。
//Freeze.cs
using UnityEngine;
using System.Collections;
public class Freeze : MonoBehaviour {
public float freezeTime;
float startTime;
public GameObject freezeParticle;
Object go;
// Use this for initialization
void Start()
{
startTime = Time.time;
gameObject.GetComponent<ThirdPersonControl>().walkSpeed = 0;
gameObject.GetComponent<ThirdPersonControl>().runSpeed = 0;
go = Instantiate(freezeParticle, transform.position, transform.rotation);
}
// Update is called once per frame
void Update()
{
if (startTime + freezeTime <= Time.time)
{