unity2022.1.8之后版本的新的输入行为控制对象变化

news2024/9/29 13:16:01

文章目录

  • unity2022.1.8之后版本的新的输入行为控制对象变化
    • 怎么导入?
    • 如何使用?

unity2022.1.8之后版本的新的输入行为控制对象变化

我们先了解大概的逻辑。我们要设置触发行为的方式并且让他和对象的行为绑定,再将行为和对象绑定,最后再绑定对应对象的行为函数里的函数方法,实现我们要的通过触发来控制对象变化。

请添加图片描述

在那之前,我们要先导入对应的包。

怎么导入?

先在系统设置里去启动新的输入方式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4PuoTEI-1676079644524)(C:/Users/86188/AppData/Roaming/Typora/typora-user-images/image-20230210093710374.png)]

然后会有提醒,让我们重启。

去仓库里把对应新版本的包下载下来。
在这里插入图片描述

然后就可以使用了。

如何使用?

  • 创建行为和对应触发方式

在任意文件夹下右键 >create>Input Actions 创建对应的绑定文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MH4iT0Zm-1676079644527)(C:/Users/86188/AppData/Roaming/Typora/typora-user-images/image-20230210101815002.png)]

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样frog对象的行为我们就设置好了,接下来就只需要让他和我们的图中对象进行绑定就好了。

  • 将刚才行为的触发方式和对象绑定。
    在这里插入图片描述

  • 创建对应的反应函数:
    在这里插入图片描述

  • 把做出的变化绑定到对象上

在这里插入图片描述

我们编辑下具体要做出的动作:在按下跳跃键后输出台会输出 “起跳!!!!!”。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayController : MonoBehaviour
{
   public void jump()
   {
    Debug.Log("起跳!!!!!");
   }
}

我们再把它和行为绑定。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C92xhbAn-1676079644532)(C:/Users/86188/AppData/Roaming/Typora/typora-user-images/image-20230210145516419.png)]

这样,我们就可以看到 "起跳!!!!!"被执行了。恭喜你,已经学会了如何去将触发和人物的变化进行绑定。
在这里插入图片描述

之后是DLC,记录了一个小问题。

DLC : 结果被执行了两次

"起跳!!!!!"被执行了,但被执行了两次。

为什么呢?

我们再加入一个回调参数,帮助我们观察这之中究竟发生了什么。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayController : MonoBehaviour
{
   public void jump(InputAction.CallbackContext context)//这里加入回调参数
   {
    Debug.Log("起跳!!!!!" + context);
   }
}

之后需要重新选择下函数。

在这里插入图片描述

我们看下结果:

在这里插入图片描述

可以发现如果我们不刻意规定,它默认是在 开始阶段达到操作要求阶段 都会执行我们要的操作,这显然是不合理的。

我们加个 if 规范下它。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayController : MonoBehaviour
{
   public void jump(InputAction.CallbackContext context)
   {
      //TODO:这个todo是标记我们要在这个函数里做什么,除此之外没什么蛋用。

      //如果玩家已经达到操作触发要求,那么打印 “起跳!!!!!”
      if(context.phase == InputActionPhase.Performed) Debug.Log("起跳!!!!!" + context);

   }
}

可以发现这样的话,就只打印了一次。

在这里插入图片描述

问题圆满解决!!! 撒花!!!!

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

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

相关文章

SpringBoot开发规范部分通用模板+idea配置【项目通用-1】

SpringBoot开发规范通用模板 1 分页插件使用 通过MybatisPlus配置分页插件拦截器 Configuration MapperScan("com.xuecheng.content.mapper") public class MybatisPlusConfig {//定义分页的拦截器Beanpublic MybatisPlusInterceptor getMybatisPlusInterceptor() {…

Pascal版本的 - freopen

参数 filename -- 这是包含要打开的文件的名称的字符串。 mode -- 这是包含文件访问模式的字符串。它包括 - 高级编号模式&说明1个 “r” 打开文件进行读取。该文件必须存在。 2个 “w” 创建一个用于写入的空文件。如果已存在同名文件,则删除其内容并将该文件…

【Java容器(jdk17)】ArrayList深入源码,就是这么简单

ArrayList深入源码一、ArrayList源码解析1. MIXIN 的混入2. 属性说明3. 构造方法4. 其他方法(核心)iterator 和 listIterator 方法add方法remove 方法sort方法其他二、ArrayList 为什么是线程不安全的?体现哪些方面呢?三、ArrayLi…

(day12) 自学Java——集合进阶(双列集合)

目录 1.双列集合特点 Map遍历三种方式 2.HashMap 3.LinkedHashMap 4.TreeMap 5.源码解析 6.可变参数(形参个数可变) 7.Collections 8.综合练习 1.双列集合特点 ①双列集合一次需要存一对数据,分别为键和值 ②键不能重复,值可以重复 ③键和值是一…

全志H616——用C语言的形式操作数据库

sqlite3_open(const char *filename, sqlite3 **ppDb)该例程打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。sqlite3_close(sqlite3*)该例程关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关…

【Linux】环境变量本地变量

文章目录环境变量基本概念常见环境变量和环境变量相关的命令为什么带./运行我们的可执行程序本地变量环境变量的组织方式环境变量具有全局属性环境变量 基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:我们…

gRPC的简单应用

gRPC的简单应用 gRPC是由开发的一个高性能、通用的开源RPC框架,主要面向移动应用开发且基于HTTP/2协议标准而设计,同时支持大多数流行的编程语言。 官网:https://grpc.io/ 安装protoc 工具 https://protobuf.dev/ 安装Go插件 旧版本直接…

学习HandlerThread

HandlerThread是一个扩展了Thread的类。也就意味着它和普通的Thread类的调用没有什么区别,仍然要调用start()。 如上图所示,扩展后的HandlerThread类有一个Looper和Handler。 关于这一块的知识可以参考一下《关于Handler我们应该知道的知识》 HandlerTh…

普冉PY32系列(五) 使用JLink RTT代替串口输出日志

目录 普冉PY32系列(一) PY32F0系列32位Cortex M0 MCU简介普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境普冉PY32系列(三) PY32F002A资源实测 - 这个型号不简单普冉PY32系列(四) PY32F002A/003/030的时钟设置普冉PY32系列(五) 使用JLink RTT代替串口输出日志 JLink …

Python-第五天 Python函数

Python-第五天 Python函数一、函数介绍1. 什么事函数二、函数的定义1.函数的定义:2.案例三、函数的参数1.函数的传入参数2.案例升级四、函数的返回值1.什么是返回值2.返回值的语法3.None类型4.None类型的应用场景五、函数说明文档1.函数的说明文档2.在PyCharm中查看…

脑机接口协议V1.0

脑机接口,有时也称作“大脑端口”direct neural interface或者“脑机融合感知”brain-machine interface,它是在人或动物脑(或者脑细胞的培养物)与外部设备间建立的直接连接通路。在单向脑机接口的情况下,计算机或者接…

leaflet显示高程

很多地图软件都能随鼠标移动动态显示高程。这里介绍一种方法,我所得出的。1 下载高程数据一般有12.5m数据下载,可惜精度根本不够,比如mapbox的免费在线的,或者91卫图提供百度网盘打包下载的,没法用,差距太大…

记录robosense RS-LIDAR-16使用过程3

一、wireshark抓包保存pcap文件并解析ubuntu18安装wireshark,参考下面csdn教程,官网教程我看的一脸蒙(可能英语太差)https://blog.csdn.net/weixin_46048542/article/details/121730448?spm1001.2101.3001.6650.2&utm_medium…

秒杀项目之服务调用分布式session

目录 nginx动静分离 服务调用 创建配置zmall-cart购物车模块 创建配置zmall-order订单模块 服务调用 spring session实战 什么是Spring Session 为什么要使用Spring Session 错误案例展示 配置spring-session 二级域名问题 用户登录 nginx动静分离 第1步&#xff…

如何用演示程序检测K100|K720|K750电动发卡读写一体机性能

K100|K720|K750电动发卡读写一体机采用工业级设 计,表面烤漆处理,具有良好的耐磨耐腐蚀性。适应各种高、低温, 多灰尘等 恶劣环境。其发卡原理为拟人型摩擦式发卡,对各类变形卡有非常好的适应性。 CNC的精度保证卡距的绝对一致性、…

Filter过滤器完成验证代码的封装

Filter过滤器完成验证代码的封装filter是什么1 使用filter2 filter配置到项目中验证用户权限是需要反复使用的代码块,把他封装到filter中,减少代码冗余filter是什么 init()方法:初始化方法,在创建Filter后立即调用。可用于完成初始…

刚刚,体验了一把Bing chat很爽

文章目录刚刚,体验了一把Bing chat很爽你能做啥?与chatgpt有什么不同?以下是Bingchat的 10个新功能1⃣️在网上搜索结果2⃣️摘要链接3⃣️对话助手4⃣️向您发送实际信息,正确的链接5⃣️在单个查询中执行多个搜索6⃣️玩冒险游戏…

内网渗透(十八)之Windows协议认证和密码抓取-本地认证(NTML哈希和LM哈希)

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

【Web测试】各类web控件测试点汇总,软测人必备

一 、界面检查 进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验 1、页面名称title是否正确 2、当前位置是否可见 您的位置:xxx>xxxx 3、文字格式统一性 4、排版是否整齐 5、列表项显示…

leetcode: 3Sum

leetcode: 3Sum1. 题目描述2. 思考3. 解题3. 总结1. 题目描述 Given an integer array nums, return all the triplets [nums[i], nums[j], nums[k]] such that i ! j, i ! k, and j ! k, and nums[i] nums[j] nums[k] 0. Notice that the solution set must not contain …