unity从0开始摸鱼日记1

时光毁灭记忆、已成空白 提交于 2020-03-01 12:52:18

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");

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!