Demo_玩家移动(主要注意动画的设置)

using UnityEngine;
using System.Collections;

public class NewPlayerMove : MonoBehaviour {

    private float hor,ver;
    private Animator ani;
    //转身速度
    public float turnSpeed = 10;

    void Awake()
    {
        ani = GetComponent<Animator> ();
    }

    void Update()
    {
        hor = Input.GetAxis ("Horizontal");
        ver = Input.GetAxis ("Vertical");
        //移动
        Move (ver);
        //转身
        Turn (hor, ver);
    }

    void Move(float ver)
    {
        if (ver != 0 || hor != 0) {
            //求实际距离
            float result = Mathf.Sqrt (hor * hor + ver * ver);
            //设置Speed参数
            ani.SetFloat ("Speed", Mathf.Abs (result));
        } else {
            //让角色停止移动
            ani.SetFloat ("Speed", -1f);
        }
    }

    void Turn(float hor,float ver)
    {
        //如果玩家按下了任意一个方向键
        if (hor != 0 || ver != 0) {
            //获取方向向量
            Vector3 dir = new Vector3 (hor, 0, ver);
            //获取方向向量所代表的四元数
            Quaternion qua = Quaternion.LookRotation (dir);
            //玩家缓慢移动到目标四元数所代表的旋转
            transform.rotation = Quaternion.Lerp (transform.rotation,
                qua, Time.deltaTime * turnSpeed);
        }
    }
}
时间: 2024-10-26 00:30:35

Demo_玩家移动(主要注意动画的设置)的相关文章

Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系

2条评论 Unity3D 的 Mecanim 动画系统可以直接复用 3DS MAX 中制作的动画文件中的位移,这个就是通过 applyRootMotion 来达成的,我们只需要在使用 Animator 控制动画播放的同时,设置 Animator 的 applyRootMotion 字段为 True 就 OK 了. 那么怎么来利用这个特性达成我们想要的一些效果呢?这个 applyRootMotion 到底指的是啥呢? ApplyRootMotion,从字面上理解来看,是『应用根节点的运动』,听起来

overridePendingTransition动画只设置一个

退出动画可以设置为0, 但是两个动画的duration需要一样. 退出动画:<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"$amp;>amp;$nbsp;       <translate            android:fromXDelta="0

animation(动画)设置

1.animation 动画 概念:当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果. 通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器: 规定动画的名称 规定动画的时长 把 "myMove" 动画捆绑到 div 元素,时长:5 秒; 动画调用 调用动画的规则名称 动画持续的时间(可选) 动画的过渡类型 延迟时间 动画播放次数(默认1次,也可以成数字或者infinite则是无限循环) 是否停留在结束状态 forwards 反向运动

HTML5吃豆豆游戏开发实战(二)主角移动和动画循环设置

接着上一篇讲,在上一篇中呢,我已经使用Canvas绘制出了我们游戏的主角,姑且叫它"小嘴"吧,因为只有嘴巴,嘿嘿,我还添了眼睛. 在这一篇中呢,就实现物体的移动和动画播放(一直张开嘴吧关闭嘴巴的动画,很饥渴的样子). 1. 要做玩家和游戏的交互,当然要考虑--如何设置按键响应这个问题. 那么如何设置呢? 我们可以通过在body标签里面添加事件来响应用户的操作: 由于我们要用W,A,S,D来控制物体的上下移动,这是按键响应,于是我们选择用onkeydown事件. onkeydown 事件

7月13号:2D的转换和过渡,动画效果设置

一.2D的转换通过transform来实现,它有4种方式: 位移:translate(x坐标,y坐标),它是以左上角为原点的位移,不影响其他元素 缩放:scale(X倍数,Y倍数),它是以元素中心为原点进行缩放 旋转:rotate(度数),它是以元素中心为原点进行旋转 斜切(扭曲):skew(X度数,Y度数):X和Y方向同时进行扭曲拉缩 二.过渡是通过transition来实现,它可以同时对元素的多个属性同事定义过渡效果(对象,时间,类型,延迟时间). 过渡的类型主要有以下几种方式 linear

CALayer CABasicAnimation 组动画的设置,设置动画不回到初始位置

1 //设置旋转 2 let rotationAnimation:CABasicAnimation = CABasicAnimation(keyPath: "transform.rotation.z") 3 //rotationAnimation.toValue = CGFloat(M_PI_2) * rotateCount 4 rotationAnimation.fromValue = CGFloat(M_PI_2) * rotateCount 5 rotationAnimation

css3动画,设置动画基点

@-webkit-keyframes swing { 50% { -webkit-transform: rotate(10deg); transform: rotate(10deg); } 100% { -webkit-transform: rotate(-10deg); transform: rotate(-10deg); } } @keyframes swing { 50% { -webkit-transform: rotate(10deg); -ms-transform: rotate(1

NGUI和UGUI动画不能设置alpha值的问题

动画播放alpha参数改变但无实际画面效果,原因是要挂一个脚本,设置实时更新数据. NGUI void Update() { widget.SetDirty(); } UGUI void Update() { graphic.SetAllDirty(); }

Jquery动画效果设置大全

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="jquery.1.11.1.min.js"></script> <style ty