Unity Animation.CrossFade Animation.Play
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class PlayerControll : MonoBehaviour
{
Transform playerTransform;
Animation playerAnimation;
Rigidbody playerRigidbody;
public float moveSpeed;
public float jumpAbility;
bool canJump; void Start()
{
playerTransform = GetComponent<Transform>();
playerAnimation = GetComponent<Animation>();
playerRigidbody = GetComponent<Rigidbody>();
Debug.Log(playerTransform.name);
} void Update()
{
Move_Control();
} void Move_Control()
{
if (Input.GetKey(KeyCode.W))
{
playerTransform.Translate(Vector3.forward * Time.deltaTime * moveSpeed, Space.Self);
playerAnimation.Play("runforward");
} if (Input.GetKeyUp(KeyCode.W))
{
playerAnimation.CrossFade("idle", 0.3f);
} if (Input.GetKey(KeyCode.S))
{
playerTransform.Translate(Vector3.back * Time.deltaTime * moveSpeed, Space.Self);
playerAnimation.Play("runbackwards");
}
if (Input.GetKeyUp(KeyCode.S))
{
playerAnimation.CrossFade("idle", 0.3f);
} if (Input.GetKey(KeyCode.A))
{
playerTransform.Translate(Vector3.left * Time.deltaTime * moveSpeed, Space.Self);
playerAnimation.Play("strafeleft");
} if (Input.GetKeyUp(KeyCode.A))
{
playerAnimation.CrossFade("idle", 0.3f);
} if (Input.GetKey(KeyCode.D))
{
playerTransform.Translate(Vector3.right * Time.deltaTime * moveSpeed, Space.Self);
playerAnimation.Play("straferight");
} if (Input.GetKeyUp(KeyCode.D))
{
playerAnimation.CrossFade("idle", 0.3f);
} if (Input.GetKey(KeyCode.Space))
{
if (canJump)
{
playerRigidbody.AddForce(Vector3.up * jumpAbility, ForceMode.Impulse);
playerAnimation.Play("jump");
canJump = false;
}
}
} private void OnCollisionStay(Collision collision)
{
if (collision.transform.tag == "Ground")
{
canJump = true;
//playerAnimation.Play("idle");
playerAnimation.CrossFade("idle",0.2f);
}
}
}
按88行那样写只摁WSAD中的一个按键人物正常移动,但是不正常执行动画,人物会漂移;按89行那样写只摁WSAD中的一个按键人物正常移动,并且正常执行动画。
但是同时摁下WD或WA或SD或SA,人物都会漂移。
Unity Animation.CrossFade Animation.Play的更多相关文章
- Unity 2D Skeletal Animation
本文记录在Unity中制作2D 骨骼动画的笔记 Unity版本:4.3 Uni2D 使用骨骼动画前,把Sprite Mesh 的Type 改为 Grid ,设置合适的骨骼数量和分配权重 1.选中创建好 ...
- Animation & Property Animation 使用
本篇主要讲Animation 和 Property Animation的使用,最后会讲QQ管家桌面火箭作为例子: 在Android中开发动效有两套框架可以使用,分别为 Animation 和 Prop ...
- Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)
1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...
- unity, Animation crossfade需要两动画在时间上确实有交叠
unity现在播动画都用Animator了,但公司的老项用的还是Animation,今天遇到一个bug,是两个动画的衔接处不连贯. 最后发现是由于A动画已经播完之后B动画才开始播,而且还用了cross ...
- Unity 动画系统 Animation 和 Animator的小实例
本文结合一个很简单的动画demo,分别采用2种方法,来对比Animation和Animator的使用方式: 方法1:单独使用Animation 方法2:Animation结合Animator 动画De ...
- Unity 动画系统 Animation和Animator 常用小功能
- Unity 动画系统 Animation和Animator等常用类
- Unity 动画系统 Animation 和 Animator 联系与区别
- [Angular] Two ways to create Angular Animation, using animation() or using state()
We have two blocks to show to difference ways to do animation in Angular: <button (click)="t ...
随机推荐
- WordCount测试小程序的实现
一.GitHub地址: https://github.com/245553473/WordCount 二.PSP表格: PSP PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...
- 《Maven实战》笔记-3-Maven仓库
一.Maven仓库的分类 1.本地仓库 一般来说,在Maven项目目录下,没有诸如lib/这样用来存放依赖文件的目录. 要自定义本地仓库目录地址时,可以编辑文件~/.m2/setting.xml,设置 ...
- 基于jQuery的Tooltip
近来,要开发一个关务管理系统,为了增加系统美观度,自己开发了一个基于jQuery框的的小插件,与大家分享一下,希望大家能给我提出宝贵修改意见. 下面开发说明使用方法和内容: 一.引用jQuery框架, ...
- c++语言的组合类的使用,用组合类的方法计算两点间距离。
组合类的使用主要涉及到类的构造函数,类的复制构造函数. #include <iostream> #include<cmath> class Point{ public: Poi ...
- hdu1845(a^b的因子和%p)
题目链接:http://poj.org/problem?id=1845 思路: 1.整数唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式. a=(p1^k1)*(p2^k2)*(p ...
- Sum of LCM (lcmsum)
题目 [题目描述] 对于 $ A_1, A_2, \ldots, A_N $ ,求$\sum_{i = 1}^N \sum_{j = 1}^N \mathrm{lcm}(A_i, A_j)$ 的值. ...
- Python中的Numpy包
通过本次学习你可以掌握Numpy Numpy介绍(获取地址)更多Numpy函数 numpy的主要对象是同质多维数组.也就是在一个元素(通常是数字)表中,元素的类型都是相同的. numpy的数组类被成为 ...
- 为asp.net core 自定义路由动态修改
根据IApplicationModelConvention 接口 实现相应的方法 /// <summary> /// 定义个类RouteConvention,private 来实现 IAp ...
- c#随笔-正则
- flex item的width VS flex-basis
flexbox的子元素flex item的宽度,按照以下规则计算: content>width>flex-basis(limited by max/min-width) flex-basi ...