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 ...
随机推荐
- 巧用 git rebase 合并多个 commit。
一.为什么需要合并多个 commit 呢? 有时候,我们开发一个功能. 修修补补 commit 了很多次,过多的 commit 会显得很复杂. 不够直观,不能比较清晰查看那些 commit 是对应 ...
- C++面试笔记--排序
这里我们开始复习排序的一些面试题. 首先我们来看一下各个排序方法的时间复杂度和稳定性的比较,见下面表格: 排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 ...
- Netty学习大纲
1.BIO.NIO和AIO2.Netty 的各大组件3.Netty的线程模型4.TCP 粘包/拆包的原因及解决方法5.了解哪几种序列化协议?包括使用场景和如何去选择6.Netty的零拷贝实现7.Net ...
- python常见的加密解密
#!/usr/bin/env python ''' Python Crypto Wrapper - By Chase Schultz Currently Supports: AES-256, RSA ...
- 国内物联网平台(7):Ablecloud物联网自助开发和大数据云平台
国内物联网平台(7)——Ablecloud物联网自助开发和大数据云平台 马智 平台定位 面向IoT硬件厂商,提供设备联网与管理.远程查看控制.定制化云端功能开发.海量硬件数据存储与分析等基础设施,加速 ...
- SnackBar使用
注意:build(BuildContext context)在 Scaffold.of(context)之前时,会报错,解决办法:通过build widget来解决,如下代码. import 'pac ...
- Unity---编辑器扩展---更新中
目录 1.Unity编辑器扩展介绍 2.具体功能 2.1.在菜单栏中添加扩展 2.2.为扩展事件添加快捷键 2.3.Hierarchy,Project视图中右键添加扩展 2.4.使用Selection ...
- P4014 分配问题
\(\color{#0066ff}{题目描述}\) 有 \(n\) 件工作要分配给 \(n\) 个人做.第 \(i\) 个人做第 \(j\) 件工作产生的效益为 \(c_{ij}\) .试设计一个将 ...
- zabbix发送邮件脚本
#!/usr/bin/env python #-*- coding: UTF- -*- import os,sys reload(sys) sys.setdefaultencoding('utf8') ...
- springcloud系列五 feign远程调用服务
一:Feign简介 Feign 是一种声明式.模板化的 HTTP 客户端,在 Spring Cloud 中使用 Feign,可以做到使用 HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完 ...