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的更多相关文章

  1. Unity 2D Skeletal Animation

    本文记录在Unity中制作2D 骨骼动画的笔记 Unity版本:4.3 Uni2D 使用骨骼动画前,把Sprite Mesh 的Type 改为 Grid ,设置合适的骨骼数量和分配权重 1.选中创建好 ...

  2. Animation & Property Animation 使用

    本篇主要讲Animation 和 Property Animation的使用,最后会讲QQ管家桌面火箭作为例子: 在Android中开发动效有两套框架可以使用,分别为 Animation 和 Prop ...

  3. Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)

    1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...

  4. unity, Animation crossfade需要两动画在时间上确实有交叠

    unity现在播动画都用Animator了,但公司的老项用的还是Animation,今天遇到一个bug,是两个动画的衔接处不连贯. 最后发现是由于A动画已经播完之后B动画才开始播,而且还用了cross ...

  5. Unity 动画系统 Animation 和 Animator的小实例

    本文结合一个很简单的动画demo,分别采用2种方法,来对比Animation和Animator的使用方式: 方法1:单独使用Animation 方法2:Animation结合Animator 动画De ...

  6. Unity 动画系统 Animation和Animator 常用小功能

  7. Unity 动画系统 Animation和Animator等常用类

  8. Unity 动画系统 Animation 和 Animator 联系与区别

  9. [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 ...

随机推荐

  1. Siemens3508手机AT指令发送短信的实验

    凡夫 最近利用Siemens3508旧手机做了AT指令发送短信的实验.有人可能认为我费那么大劲折腾累不累,告诉你这可是废物再利用,可以利用旧手机里的GSM/GPRS模块做无线远程多点分布数据采集.监控 ...

  2. jmeter MD5加密

    MD5.jar已经上传到博客园的文件中 第一步  添加变量${Qpassword} 第二步 调用MD5加密 import hehe.Str2MD5;String res = new Str2MD5() ...

  3. Bugly升级应用集成指南

    1.配置 app/build.gradle android { defaultConfig { ndk { //设置支持的SO库架构 abiFilters 'armeabi' //, 'x86', ' ...

  4. table 和 div 简单布局

    table 简单布局 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...

  5. 字符串创建XML文档

    创建XML文档,方法与形式是多样的,下面Insus.NET再例举两种,可供参考. XmlDocument(namespace:System.Xml)在实例化之后,它有一个方法LoadXml(),可以把 ...

  6. doges

    dogse入门指南 Dogse作为游戏服务端引擎,目前只包含游戏服务端的核心部分,但这也是最核心的部分.它全部使用.net c#开发,充分兼顾了程序性能与代码编写的准确性与易用性,再加上以vs作为开发 ...

  7. HTTP基本认证和JWT鉴权

    一.HTTP基本认证 Basic Authentication——当浏览器访问使用基本认证的网站的时候, 浏览器会提示你输入用户名和密码. http auth的过程: · 客户端发送http请求 ·  ...

  8. 字符串格式化str.format

    一.字符串格式化之str.format 1.位置参数:用{0},{1},{2}表示位置 v1 = '{1},{0},{1}'.format('a','b') #输出b,a,b 2.关键词参数:用{na ...

  9. 直播点赞,上升的动画-- CAKeyFrameAnimation

    // //  ViewController.m //  DMHeartFlyAnimation // //  Created by Rick on 16/3/9. //  Copyright © 20 ...

  10. ribbon负载均衡

    ribbon的负载均衡策略有很多 IRule 这是所有负载均衡策略的父接口,里边的核心方法就是choose方法,用来选择一个服务实例. AbstractLoadBalancerRule Abstrac ...