Android 如何将动画应用于Unity中的玩家

Android 如何将动画应用于Unity中的玩家,android,unity3d,android-animation,unity5,Android,Unity3d,Android Animation,Unity5,嘿,伙计们,我正在制作我的第一个应用程序。我知道这是一个非常复杂的问题,但是我很难理解下面的例子,因为脚本代码是不同的。我正在制作一个2D平台跑步者。首先,我创建了平台、环境以及大部分(如果不是全部的话)物理。此时的玩家只是一个圆圈(只是一个占位符)。圆圈可以从左向右移动并跳跃。我现在已经创建了一个真实的玩家精灵,并制作了行走、跳跃和空闲的动画。如何将新的精灵动画应用于当前的圆形占位符以及脚本?我的下一步是进入动画师,开始做过渡,我想。我只是不知道如何添加动画到我的当前脚本。我知道这将是一个挑战

嘿,伙计们,我正在制作我的第一个应用程序。我知道这是一个非常复杂的问题,但是我很难理解下面的例子,因为脚本代码是不同的。我正在制作一个2D平台跑步者。首先,我创建了平台、环境以及大部分(如果不是全部的话)物理。此时的玩家只是一个圆圈(只是一个占位符)。圆圈可以从左向右移动并跳跃。我现在已经创建了一个真实的玩家精灵,并制作了行走、跳跃和空闲的动画。如何将新的精灵动画应用于当前的圆形占位符以及脚本?我的下一步是进入动画师,开始做过渡,我想。我只是不知道如何添加动画到我的当前脚本。我知道这将是一个挑战,如果你需要任何其他信息,请告诉我。非常感谢各位

这是我的“Controls.cs”,它当前连接到我的圆圈播放器/占位符。我的地盘依附于他。其他一切都应该与他所跳的平台有关,我认为不会改变。同样,我有一个精灵,我想用它来代替当前的圆圈/占位符。我需要在按下左箭头和右箭头时播放行走动画,在按下跳跃按钮时播放泵动画,在播放器静止时播放空闲动画,否则。再次感谢大家

using UnityEngine;
using System.Collections;


public class Controls : MonoBehaviour
{
    public Rigidbody2D rb;
    public float movespeed;
    public float jumpheight;
    public bool moveright;
    public bool moveleft;
    public bool jump;
    public Transform groundCheck;
    public float groundCheckRadius;
    public LayerMask whatIsGround;
    private bool onGround;

    // Use this for initialization
    void Start()
    {
        rb = GetComponent<Rigidbody2D>();

    }

    void FixedUpdate()
    {
        onGround = Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, whatIsGround);
    }

    // Update is called once per frame
    void Update()
    {



        if (Input.GetKey(KeyCode.LeftArrow))
        {
            rb.velocity = new Vector2(-movespeed, rb.velocity.y);

        }
        if (Input.GetKey(KeyCode.RightArrow))
        {
            rb.velocity = new Vector2(movespeed, rb.velocity.y);

        }

        if (Input.GetKey(KeyCode.Space))
        {
            if (onGround)
            {
                rb.velocity = new Vector2(rb.velocity.x, jumpheight);
            }
        }

        if (jump)
        {
            if (onGround)
            {
                rb.velocity = new Vector2(rb.velocity.x, jumpheight);
            }
            jump = false;
        }

        if (moveright)
        {
            rb.velocity = new Vector2(movespeed, rb.velocity.y);
        }
        if (moveleft)
        {
            rb.velocity = new Vector2(-movespeed, rb.velocity.y);
        }

    }

}
使用UnityEngine;
使用系统集合;
公共类控制:单一行为
{
公共刚体2d rb;
公共交通速度;
公众浮标高度;
公共产权;
公共布尔左;
公共跳跃;
公开审查;
公众浮标地面检查半径;
公共层码头;
私人住宅;
//用于初始化
void Start()
{
rb=GetComponent();
}
void FixedUpdate()
{
onGround=物理2D.重叠圆(地面检查位置、地面检查半径、whatIsGround);
}
//每帧调用一次更新
无效更新()
{
if(Input.GetKey(KeyCode.LeftArrow))
{
rb.velocity=新矢量2(-movespeed,rb.velocity.y);
}
if(Input.GetKey(KeyCode.RightArrow))
{
rb.velocity=新矢量2(移动速度,rb.velocity.y);
}
if(Input.GetKey(KeyCode.Space))
{
如果(每轮)
{
rb.velocity=新矢量2(rb.velocity.x,跳跃高度);
}
}
如果(跳转)
{
如果(每轮)
{
rb.velocity=新矢量2(rb.velocity.x,跳跃高度);
}
跳跃=假;
}
如果(向右移动)
{
rb.velocity=新矢量2(移动速度,rb.velocity.y);
}
如果(向左移动)
{
rb.velocity=新矢量2(-movespeed,rb.velocity.y);
}
}
}
阅读。创建后,您可以从游戏对象中抓取Animator,如
transform.GetComponent()

稍后,您可以混合动画或仅播放它们。Unity甚至可以为播放动画设置输入条件,所以说实话,您甚至不必输入太多代码。

一定要使用动画控制器。
看一下这段视频,我现在正在学习这个教程


非常感谢,伙计。对不起,过了一会儿才给你回电话。我现在开始学习这个教程,它的效果非常好!