unity从0开始摸鱼日记1

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");
发布了39 篇原创文章 · 获赞 0 · 访问量 1450

猜你喜欢

转载自blog.csdn.net/Z3Djoker/article/details/104573243