2约29馹
四年一遇的2月29呢,今天依然没有开学,淦
以下是基础中的基础
1.
关于如何得到需要的组件,一般是用这样的方式
先在类里面新建出需要的组件,然后在start()中,通过GetComponent<>(),或者其他方法来从unity中得到
基本流程如下:
public class Enemy : MonoBehaviour
{
private Vector2 TargetPosition;
private Transform player;
private Rigidbody2D rigidbody;
private BoxCollider2D collider;
private Animator animatior;//动画组件
public float smoothing = 3;
void Start()
{
player = GameObject.FindGameObjectWithTag("Player").transform;
rigidbody = GetComponent<Rigidbody2D>();
TargetPosition = transform.position;
GameManager.Instance.enemyList.Add(this);
collider = GetComponent<BoxCollider2D>();
animatior = GetComponent<Animator>();
}
其中Rigidbody2D rigidbody,BoxCollider2D collider,Animator animatior三个组件就是这样得到的
2.关于如何在需要的时候调用动画
首先通过第一点的方式,得到animator组件,然后如下
animator.SetTrigger("Attack")
其中“Attack”是给动画设定的tag;
如果与对象有互动,比如说是攻击的动画,那么需要向被攻击的对象发送message
SendMessage("要传到的函数名")
hit.collider.SendMessage("TakeDamage");
//hit.collider为碰撞检测所检测到的物体
//假设对象是player,可以用
player.SendMessage("TakeDamage");