控制游戏人物移动的细节到底有多少?

news2025/2/28 15:31:01

在这里插入图片描述

👨‍💻个人主页:@元宇宙-秩沅

hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

本文由 秩沅 原创

收录于专栏 unity实战入门

在游戏中我们在做控制游戏物体移动时会碰到以下常见的几种情况:

文章目录

  • 在游戏中我们在做控制游戏物体移动时会碰到以下常见的几种情况:
    • ①移动的速度无法加以匀速控制
    • ②左右的转向动画无法和左右按键相同
    • ③动画无法和人物相应的方向所匹配

在这里插入图片描述

①移动的速度无法加以匀速控制

那我们就用Time.delaTime
图片:
Alt

②左右的转向动画无法和左右按键相同

那我们就用Input监听按钮来实现
Alt
animi.CrossFade()方法重载参数越小,动画过渡越快,当然也要取消Has Exit time 的勾选
Alt

③动画无法和人物相应的方向所匹配

那我们先判断游戏人物的朝向,gameObject.transform.localScale.x
Alt

上代码


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//--------------------------------
//--------创建人:秩沅-----------
//--------功能作用:实现游戏对象移动和相应动画的切换  ----------
//---------------------------------

public class Move: MonoBehaviour
{
    float a,b,S;
    Animator anim;

    // Start is called before the first frame update
    void Start()
    {
        anim = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        S = Input.GetAxisRaw("Horizontal");
        a += S * Time.deltaTime;
        b = gameObject.transform.localPosition.y;
        gameObject.transform.localPosition = new Vector2(a, b);
        //行走动画的切换,右方
        if (Input.GetKeyDown(KeyCode.D))
        {
            //当按键的方向和它的朝向不一致的时候,即可变向
            if (gameObject.transform.localScale.x < 0)
            {
                float c, d;
                c = -gameObject.transform.localScale.x;
                d = gameObject.transform.localScale.y;
                gameObject.transform.localScale = new Vector2(c, d);
            }
            anim.CrossFade("Walk",0.00000001f);
        }
        else if(Input.GetKeyUp(KeyCode.D))
        {
            anim.CrossFade("Idel", 0.00000001f);
        }
        //行走动画的切换,左方
        if (Input.GetKeyDown(KeyCode.A))
        {
            if (gameObject.transform.localScale.x > 0)
            {
                float c, d;
                c = -gameObject.transform.localScale.x;
                d = gameObject.transform.localScale.y;
                gameObject.transform.localScale = new Vector2(c, d);
            }
            anim.CrossFade("Walk", 0.00000001f);
        }
        else if (Input.GetKeyUp(KeyCode.A))
        {
            anim.CrossFade("Idel", 0.00000001f);
        }

    }
}

你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!
栓Q
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9487.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

adb shell AT指令发送短信

开启两个&#xff0c;命令行窗口。都进入adb shell。 查看 /dev下的smd设备节点&#xff0c;选取一个进行读写操作 一个窗口用来进行读&#xff0c;另一个窗口进行写入指令操作&#xff0c;读取和写入的节点需要一致。 SH4-1:/ # ls /dev/smd* ls /dev/smd* /dev/smd11 /dev/…

隐式神经表示一:神经网络拟合图像Implicit Neural Representations with Periodic Activation Functions

文章目录1. Implicit Neural Representations with Periodic Activation Functions0. 什么是隐式神经表示1. 了解SineLayer的初始化&#xff0c;还是没了解。。。2. 均匀分布3. Lemma 1.14. 一个简单实验, 拟合图像4.1 网络模型代码如下&#xff0c;就是全连接网络&#xff0c;…

【自然语言处理(NLP)】基于BiLSTM+CRF的事件抽取

【自然语言处理&#xff08;NLP&#xff09;】基于BiLSTMCRF的事件抽取 作者简介&#xff1a;在校大学生一枚&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;腾云先锋&#xff08;TDP&#xff09;成员&#xff0c;云曦智划项目总负责人&#xff0c;全国高等学…

Centos 7 安装 wget

文章目录1. wget命令详解:2.查看帮助手册3.使用 wget 下载单个文件4.使用 wget -O 下载并以不同的文件名保存5.使用 wget -c 断点续传6.使用 wget -b 后台下载1. wget命令详解: wget是Linux中的一个下载文件的工具&#xff0c;wget是在Linux下开发的开放源代码的软件&#xff…

tomcat线程池-深度分析tomcat线程池设计与现实

1.概述 在正式进入Tomcat线程池之前&#xff0c;小伙伴们可以先回顾一下JDK中的线程池相关特性&#xff0c;对于JDK线程池的总结和源码的解析感兴趣的童鞋&#xff0c;也可参考博主的层层剖析线程池源码的这篇文章&#xff0c;文章主要讲述对线程池的生命周期&#xff0c;核心参…

五、事件系统-原生事件-react中的合成事件-详解事件的冒泡和捕获机制

目标 深入理解和掌握事件的冒泡及捕获机制理解react中的合成事件的本质在react组件中合理的使用原生事件 知识点 在原生的dom模型上触发的事件会进行事件传递。而所谓的事件传递指的是当在A元素上触发某一事件的时候&#xff0c;B元素如果满足了和A元素一定的关系的话&#xf…

freeswitch如何判断挂机方

概述 freeswitch作为VOIP的软交换平台&#xff0c;需要对呼叫的信息做判断和归类。 常见的呼叫信息中&#xff0c;挂机方向的信息对于话单统计有很大的用处。 但是fs的原始话单和日志中并没有挂机方向的信息。 环境 centos&#xff1a;CentOS7 freeswitch&#xff1a;v1.…

火遍国内外IT技术圈,豆瓣 9.7!这本技术书籍直接封神了

这是一本在国内外都被称为技术书籍巅峰之作的神书&#xff01; 国内的豆瓣评分 9.7&#xff08;满分 10.00&#xff09;&#xff0c;接近 90% 的人为这本书打了五星好评。 国外的 Goodreads&#xff08;类似于豆瓣&#xff09; 评分 4.72&#xff08;满分 5.00&#xff09; &a…

元宇宙:下一代互联网的“美丽新世界”

8月6日到8日,美国超人气歌手Ariana Grande在全球不同地区,连续举办了5场演唱会。与众不同的是,演出的举办地点在游戏《堡垒之夜》(Fortnite)中。全球上千万的玩家,使用自己的游戏角色盛装出席。演出中,一系列的小游戏贯穿了主线,最后粉丝在绚丽的场景中和“Ariana”一对…

42、Spring AMQP DirectExchange

1、DirectExchange 2、案例 3、通过配置类实现 1、配置类 2、Publisher 3、Consumer 4、测试结果 4、通过注解实现 1、Consumer添加Linstener 2、Publisher 执行测试方法 3、测试结果 4、总结分析 学习了DirectExchange之后&#xff0c;发现与FanoutExchange有些许差异&#…

腾讯程序员的手码K8S+Jenkins笔记

最近在GitHub上认识一个腾讯大佬&#xff0c;从他手上得到一份K8SJenkins笔记&#xff0c;好东西还是要共享的&#xff01;希望这份笔记能让你技术更上一层&#xff01; 从理论到实战深入K8S 学习K8S的学习笔记很少有比较齐全的&#xff0c;而这份K8S学习笔记&#xff0c;尽量…

谈了这么久的无代码到底是什么?

尽管我们一直在谈论关于“无代码”的方方面面&#xff0c;但却并没有专门谈及“无代码”是什么。不仅许多刚听到这个名词的人会感到疑惑&#xff0c;就算熟悉这一名词的可能也无法给出一个准确的定义&#xff0c;又或者常常将其与另一个相近的名词“低代码”弄混。 今天我们专…

Revit插件实现【快速扣减】的两种操作

翻模的过程中&#xff0c;我们在处理细节问题的时候&#xff0c;如果只是两个构件之间的重合&#xff0c;我们可以利用“连接”命令进行扣减。而如果是想让多个构件进行扣减操作&#xff0c;而不是整层或者整栋楼都按照同样的扣减顺序进行的话&#xff0c;我们可以利用橄榄山和…

Windows安全日志分析

Windows安全日志分析 0x00 引言 在应急响应初步阶段&#xff0c;我们会对系统日志、中间件安全日志、恶意文件等进行收集。接下来便是要进一步对这些文件进行分析&#xff1a;对恶意文件逆向、日志文件分析、梳理入侵时间线和入侵路径等。本文主要对Windows安全日志进行举例分…

Mybatis整合达梦数据库

陈老老老板&#x1f9b8;&#x1f468;‍&#x1f4bb;本文专栏&#xff1a;国产数据库-达梦数据库&#xff08;主要讲一些达梦数据库相关的内容&#xff09;&#x1f468;‍&#x1f4bb;本文简述&#xff1a;本文讲一下SpringBoot整合Mybatis与达梦数据库&#xff0c;就是简单…

全网最详细|Oracle12C安装和卸载图文教程

一. 数据库的引入 以前将数据用变量、数组、对象存在内存&#xff0c;而内存只能短暂存储数据。如果我们想长久存数据用文件将数据存在磁盘上&#xff0c;不方便存取和管理数据&#xff0c;因此可以使用数据库来存数据。 二. 数据库基础概念 2.1数据库(database,简称DB) 以…

QRegExpValidator(正则验证器)

QRegExpValidator QRegExpValidator 使用正则表达式 &#xff08;regexp&#xff09; 来确定输入字符串是可接受、中间还是无效的。正则表达式可以在构建 QRegExpValidator 时提供&#xff0c;也可以在以后提供。 构造函数&#xff1a; ​ 常用的函数&#xff1a; setRegE…

在Windows上使用Docker搭建ChirpStack私有LoRa服务端

在Windows上使用Docker容器部署ChirpStack服务&#xff0c;首先若要在Windows 10或11 上运行容器&#xff0c;需要以下条件&#xff1a; 一个运行 Windows 10 或 11 专业版或企业版的物理计算机系统。Hyper-V 功能已启用。 Windows下的Docker安装 1.Docker为Windows提供了一款…

如何设计一个支撑数亿用户的系统

要设计出一套能支撑几十亿人的系统是很困难的。对于软件架构师来说&#xff0c;这一直是一项很大的挑战&#xff0c;但是&#xff0c;从现在开始&#xff0c;看完我的文章&#xff0c;你就会觉得容易很多了。 下面是我在本文中提到的几个话题&#xff1a; 从最简单的开始&…

关于大数据测试,你一定要试试python的fake库

一.背景 对于大数据相关项目的测试&#xff0c;往往需要大量的测试数据&#xff0c;而场内测试时很难获取那么大批量的真实数据&#xff0c;这个时候需要测试人员能够快速模拟出符合要求的测试数据。这个时候要是有一个自动化工具或测试脚本简直不要太爽~ 二.问题引入 对于互…