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

华佣网做最好的现货沥青返佣网站侧边导航条wordpress

华佣网做最好的现货沥青返佣网站,侧边导航条wordpress,wordpress商品左移窗口,青岛网站建设公司正Lyra里使用了增强输入系统#xff0c;首先知道增强输入系统里的三个类型配置。 一、Input Actions (IA)#xff1a; 输入操作带来的变量#xff0c;与玩家的输入组件绑定#xff0c;回调里驱动玩家行为。 二、InputMappingContext#xff08;IMC#xff09;#xff1a…Lyra里使用了增强输入系统首先知道增强输入系统里的三个类型配置。 一、Input Actions (IA) 输入操作带来的变量与玩家的输入组件绑定回调里驱动玩家行为。 二、InputMappingContextIMC 表示一套按键输入配置让按键与IA绑定从而使用按键携带的变量驱动IA生效。 IMC上确定哪个按键驱动哪个IA比如键盘Q是隐射使用技能一的IA还是技能二的IA。 三、UPlayerMappableInputConfigPMI 对IMC进行配置进一步模块化。 PMI是跟硬件设备挂钩的配置PMI里携带IMC比如输入设备是PC键盘还是手柄类型的PMI游戏根据硬件设备驱动生效对应的PMI。 所以看懂Lyra的IA、IMC、PMI配置在哪里、在哪来生效大概就看懂他的输入系统了。 首先是DefaultExperience的圆柱体人移动操作 IA 1、配置 这个编辑器里启动场景的Experience蓝图是B_LyraDefaultExperience所生成的简单圆柱体角色数据来自里面的DefaultPawnData变量指向数据资产SimplePawnDataIA则就配置在SimplePawnData的InputConfig变量指向的数据资产InputData_SimplePawn。所以这个默认圆柱体角色的IA配置就在这 2、绑定 IA的绑定是在Experience加载完成后初始化调用下来开始初始化的在 ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)里初始化。 void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent) {...//Ability类功能绑定// Add the key mappings that may have been set by the playerLyraIC-AddInputMappings(InputConfig, Subsystem);//基础移动功能绑定// This is where we actually bind and input action to a gameplay tag, which means that Gameplay Ability Blueprints will// be triggered directly by these input actions Triggered events. TArrayuint32 BindHandles;LyraIC-BindAbilityActions(InputConfig, this, ThisClass::Input_AbilityInputTagPressed, ThisClass::Input_AbilityInputTagReleased, /*out*/ BindHandles);LyraIC-BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Move, ETriggerEvent::Triggered, this, ThisClass::Input_Move, /*bLogIfNotFound*/ false);LyraIC-BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Look_Mouse, ETriggerEvent::Triggered, this, ThisClass::Input_LookMouse, /*bLogIfNotFound*/ false);LyraIC-BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Look_Stick, ETriggerEvent::Triggered, this, ThisClass::Input_LookStick, /*bLogIfNotFound*/ false);LyraIC-BindNativeAction(InputConfig, LyraGameplayTags::InputTag_Crouch, ETriggerEvent::Triggered, this, ThisClass::Input_Crouch, /*bLogIfNotFound*/ false);LyraIC-BindNativeAction(InputConfig, LyraGameplayTags::InputTag_AutoRun, ETriggerEvent::Triggered, this, ThisClass::Input_AutoRun, /*bLogIfNotFound*/ false);... } IMC 配置 编辑器里默认起始场景的圆柱体玩家的IMC配置在蓝图B_SimpleHeroPawn的LyraHero组件的变量DefaultInputConfigs上。但进入到射击游戏里角色的IMC则是来自插件的配置稍后提到 IMC需要添加到PlayerController身上的UEnhancedInputLocalPlayerSubsystem才会生效。 IMC的添加地方和IA同在一个方法里ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent) void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent) {// Register any default input configs with the settings so that they will be applied to the player during AddInputMappingsfor (const FMappableConfigPair Pair : DefaultInputConfigs){if (Pair.bShouldActivateAutomatically Pair.CanBeActivated()){FModifyContextOptions Options {};Options.bIgnoreAllPressedKeysUntilRelease false;// Actually add the config to the local player Subsystem-AddPlayerMappableConfig(Pair.Config.LoadSynchronous(), Options); }} }走到这里是可以通过键盘操作玩家移动了。 从上面的for知道DefaultInputConfigs变量里配置的IMC如果是空的话是没有添加到SubSystem的射击游戏里的角色就没有配置它们的IMC是通过插件方式来添加的这么说了还有另外一个地方会调用Subsystem-AddPlayerMappableConfig(Pair.Config.LoadSynchronous(), Options)。 PMI PMI是通过插件的UGameFeatureAction_AddInputConfig 来配置的PMI里携带了IMC配置在插件ShooterCore里所以就会发现射击游戏里的人形角色B_Hero_ShooterMannerquin的LyraHero组件里并没有配置IMC PMI里携带了IMC配置在插件ShooterCore里 B_Hero_ShooterMannerquin的LyraHero组件里并没有配置IMC那么上面展示的代码ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerInputComponent)里的Subsystem-AddPlayerMappableConfig()就不会执行它的输入IMC是在UGameFeatureAction_AddInputConfig::AddInputConfig(APawn* Pawn, FPerContextData ActiveData)注册的这个也是加载完Experience后执行的方法 而在添加到SubSystem前还会写入本地输入设置保存玩家的输入配置用于给玩家在UI上访问与修改按键操作 bool FMappableConfigPair::RegisterPair(const FMappableConfigPair Pair) {ULyraAssetManager AssetManager ULyraAssetManager::Get();if (ULyraSettingsLocal* Settings ULyraSettingsLocal::Get()){// Register the pair with the settings, but do not activate it yetif (const UPlayerMappableInputConfig* LoadedConfig AssetManager.GetAsset(Pair.Config)){Settings-RegisterInputConfig(Pair.Type, LoadedConfig, false);return true;} }return false; } 写入SubSystem void UGameFeatureAction_AddInputConfig::AddInputConfig(APawn* Pawn, FPerContextData ActiveData) {...for (const FMappableConfigPair Pair : InputConfigs){if (Pair.bShouldActivateAutomatically Pair.CanBeActivated()){Subsystem-AddPlayerMappableConfig(Pair.Config.LoadSynchronous(), Options);}}... }玩家更改键位输入的方法是ULyraSettingsLocal::AddOrUpdateCustomKeyboardBindings(const FName MappingName, const FKey NewKey, ULyraLocalPlayer* LocalPlayer)。
http://www.w-s-a.com/news/215593/

相关文章:

  • 官方网站包括哪几个网站泰安的网站建设公司哪家好
  • 域名虚拟服务器做网站如何搭建企业网站
  • 用手机做网站服务器口碑好的常州网站建设
  • 摄影网站的设计与实现开题报告太原企业自助建站
  • 做如美团式网站要多少钱做网站怎么去文化局备案
  • 桂平市住房和城乡建设局网站网站建设与管理自考题
  • 怎么做公司网站制作凡科官方网
  • 达人设计网官方网站建筑效果图网站有哪些
  • 网站定制哪家快建筑室内设计网
  • 网站创建方案论文旅游网站的设计与制作html
  • 网站建设的数据导入导出开发小程序需要多少钱费用
  • 局网站建设进入前十名wordpress user role editor
  • 网站托管如何收费搜一下百度
  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司