unity从0开始摸鱼日记1

本文介绍Unity游戏开发中组件获取及动画调用的基础方法。通过GetComponent<>()获取Rigidbody2D、BoxCollider2D和Animator组件,并展示如何通过SetTrigger调用动画,以及在互动时使用SendMessage传递信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值