当前位置: 首页 > news >正文

UEC++ 按键输入绑定

目录

触发时机的枚举类型

旧版输入系统

Enhanced Input System


APlayerController类定义了一个虚函数SetupInputComponent用于设置按键输入绑定;

UInputComponentAActor的成员变量;

触发时机的枚举类型

EInputEvent 枚举类型,旧版用于定义输入事件的触发时机;

ETriggerEvent 枚举类型,增强输入系统中定义输入事件触发时机;取代旧版输入系统中的 EInputEvent,功能更强大、粒度更细;

旧版输入系统

// 旧版按键输入绑定,绑定到项目设置好的 Action Mappings 和 Axis Mappings void AMyPlayerController::SetupInputComponent() { Super::SetupInputComponent(); // 绑定动作(如跳跃,按下触发一次) InputComponent->BindAction("Jump", IE_Pressed, this, &AMyPlayerController::StartJump); InputComponent->BindAction("Jump", IE_Released, this, &AMyPlayerController::StopJump); // 绑定轴(如移动,持续触发,提供连续值) InputComponent->BindAxis("MoveForward", this, &AMyPlayerController::MoveForward); InputComponent->BindAxis("MoveRight", this, &AMyPlayerController::MoveRight); }

Enhanced Input System

UE5后推荐使用增强输入系统(Enhanced Input System),更强大更灵活;通过 Input Action,Input Mapping Context 等资产来解耦输入映射和逻辑;

  • 项目设置内设置默认输入类;

  • BeginPlay中,在Input Mapping Context添加UEnhancedInputLocalPlayerSubsystem

// 类中声明输入动作资产指针 UPROPERTY(EditAnywhere, Category = "Input") class UInputAction* JumpAction; void AMyPlayerController::SetupInputComponent() { Super::SetupInputComponent(); // InputComponent 是根据项目设置自动创建的子类实例,需转化 if (UEnhancedInputComponent* EnhancedInputComponent = Cast<UEnhancedInputComponent>(InputComponent)) { // 绑定增强输入动作 EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Started, this, &AMyPlayerController::StartJump); EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AMyPlayerController::Move); } }
http://www.jsqmd.com/news/1189140/

相关文章:

  • 2026北京房山地址托管注册推荐:北京孵财管理咨询,代办常见问题和避坑指南 - 余小铁
  • 大模型智能体架构设计与多智能体系统实践
  • LangChain 应用上线即崩?从权限日志拆解 Agent 工程化断点
  • Sipakmed数据集实战:从特征工程到混合模型构建的宫颈细胞分类全流程解析
  • Palworld存档修复工具:拯救你的幻兽伙伴,告别角色丢失烦恼
  • 思源宋体CN:7种字重开源中文字体,彻底解决中文排版难题
  • 吸水强厨房纸哪家口碑好:联盛森宝广受认可 - MXyuyu
  • 2026年7月最新泉州泉港区山腰街道亨得利官方名表服务中心电话公示 - 亨得利官方博客
  • Biotinyl-BNP-32 (human) ;Bio-SPKMVQGSGCFGRKMDRISSSSGLGCKVLRRH
  • 武汉百达翡丽回收价格查询与靠谱平台实测排行(2026年7月最新数据) - 天价名表回收平台
  • AI生成文献综述会被发现吗?2026年真相与正确用法
  • 新手黄金回收别乱选,天津正规门店交易透明无猫腻 - 小蝶回收测评
  • 跨越语义鸿沟:企业本体语义平台的构建与落地
  • 获奖平台传播易 全域广告投放一站式解决方案
  • STM32与PAM8904实现智能蜂鸣器驱动方案
  • 2026交调系统品牌榜单出炉,广州聚杰品质靠谱值得信赖 - 品牌速递
  • ConcurrentHashMap 超详细详解
  • 高频版汇率查询接口:今日实时汇率查询、汇率转换与外汇实时行情
  • DrissionPage实战:高效稳定爬取拉勾网招聘数据
  • 一篇讲透电容:从“存电”到滤波、耦合,再到电路板维修
  • 闲置钻戒变现避坑实录:盘点上海回收行业常见压价套路与应对方法 - 讯息早知道
  • 全闪分布式存储:架构、优势与应用实践
  • 【信息科学与工程学】【物理/化学和工程技术】第一百三十二篇 损伤学 系列二01 ——网络中的损伤学02
  • 夏季杭州旧金回收行情解读,全域多点位实体门店当场称重 - 小蝶回收测评
  • ROS2服务通信原理与实战:掌握强一致性RPC机制
  • 【算法基础】博弈论入门:基础博弈论模型与SG函数基础详解(洛谷 P2197 C++代码)
  • AI智能体技术架构与开发实践指南
  • 【云服务器配置越高越好吗?很多人第一步就选错了】
  • 紧急更新!OpenAI 2024 Q2对话API重大变更对语言学习的影响(仅剩72小时适配窗口)
  • 金水区正规奢侈品回收老店,中检持证鉴定,无隐形扣费,24 小时在线估价 - 全城热点