首页 > 其他分享 >Unreal入门,开关03,利用事件调度器来制作电源总开关

Unreal入门,开关03,利用事件调度器来制作电源总开关

时间:2023-12-26 22:44:20浏览次数:39  
标签:03 总开关 Unreal PowerOff 添加 事件 PowerSwitch Event

image

这里总开关的实现方式是在总开关ActorPowerOff上添加事件调度器PowerOff,其它需要响应这个事件的Actor需要自己初始化相应的事件,并作出合适的处理即可,这里是将PowerOff事件关联上ToggleLight即可实现跟随主开关的开关效果

image

1. 创建基于Actor的蓝图类,电源总开关BP_PowerSwitch

image

添加一个StaticMesh并拖放到根节点

image

在Class Setting中添加上一节中创建的蓝图接口BPI_Interactable(这样就可以用柱子怼他了)

image

双击Interact添加蓝图事件处理,打一个字符串看看

image

拖放到地图,运行一下看看(怼上去之后,能打印字符串Power就算交互成功了)

image

怎么怼?

image

添加一个事件调度器Event Dispatcher,并拖放到事件图表,选择Call

image

这里每次玩家调用Interact之后就会触发一次PowerOff事件,这里BP_PowerSwitch并不知道谁会去处理PowerOff事件,它只管派发这个事件

image

2. 给灯加上PowerOff事件处理

绑定PowerOff事件,因为只用绑定一次,所以可以在Event BeginPlay中做初始化,这里先找到PowerSwitch对象

image

需要判断下是否有效,地图中可能没有拖放PowerSwitch对象

image

然后绑定到PowerOff事件,这里选Assign

image

Assign之后会自动创建一个PowerOff_Event(也可以选bind,然后手动创建这个Event)

image

然后连线到ToggleLight事件即可在PowerOff事件触发时自动开关灯

image

完整蓝图

image

运行试试

image

多放几个灯试试

image

3. 让电视机也响应PowerOff号召

打开BP_TV蓝图添加一个自定义事件

image

把之前定义的开关机效果剪切过去重新连线

image

响应PowerOff事件

image

运行试试

image

其它

标签:03,总开关,Unreal,PowerOff,添加,事件,PowerSwitch,Event
From: https://www.cnblogs.com/BuzzWeek/p/17920504.html

相关文章

  • 初中英语优秀范文100篇-039School Safety-校园安全
    PDF格式公众号回复关键字:SHCZFW039记忆树1Inmyopinion,it'simportantforustokeepsafeatschool.翻译在我看来,保持在学校的安全是非常重要的。简化记忆安全句子结构1"Inmyopinion"是一个插入语,表示这个句子提供的是作者的观点或看法。2"it'simportan......
  • gym103415A Math Ball
    套路生成函数。写出答案的式子,设\(f_i(x)=\sumj^{c_i}x^j\),不难得到答案为:\[[x^W]{1\over1-x}\prod_{i=1}^nf_i(x)\]考虑求\(f_i(x)\)。看到指数上有\(c_i\),想到用斯特林数展开:\[f_i(x)=\sum_{j=0}^{\infty}x^j\sum_{k=0}^{c_i}{c_i\bracek}\binom{j}{k}k!\]\[=\s......
  • Cannot read properties of null (reading 'parentElement')问题的解决
    问题描述出现了一堆这种报错,echarts真的,我的一生之敌~~~~~问题解决发现,我使用输入框,将文本内容传递到后端,然后再传回到这个界面,就直接引起了整体的报错,在我去掉输入框时,这个错误就被解决啦~~~所以,我就直接将条件输入的文本框与图表分开了,这样就能够解决上面那个问题啦!......
  • 03-redis事务,锁和服务器管理命令
    一、redis中的事务redis中的事务跟关系型数据库中的事务是一个相似的概念,但是有不同之处。关系型数据库事务执行失败后面的sql语句不在执行,而redis中的一条命令执行失败,其余的命令照常执行。redis中开启一个事务是使用multi,相当于begin\starttransaction,exec提交事务,discard取......
  • 【五期李伟平】CCF-A(S&P'20)The Value of Collaboration in Convex Machine Learning w
    NanW.,etal.“TheValueofCollaborationinConvexMachineLearningwithDifferentialPrivacy.”2020IEEESymposiumonSecurityandPrivacy.304-317.  联邦学习场景中,在适应度函数平滑、强凸、利普斯特连续的条件下,估算各客户端使用不同隐私预算时最终全局模......
  • ORA-01113: file 69 needs media recovery ORA-01110: data file 69: 'E:\FWPTDB\D
    继续上一篇写1、当解决了ORA-01033:ORACLEinitializationorshutdowninprogress 这个问题后重新连接此数据库的时候又出现以下问题ORA-01113:file69needsmediarecovery ORA-01110:datafile69:'E:\FWPTDB\DBFFILES\HNRZ\HNRZFW.DBF2、解决方案  ......
  • grep -Ev '#|^$' zabbix_server.conf 显示配置文件 命令
    grep-Ev'#|^$'zabbix_server.confroot@k8s-node01:/etc/zabbix#grep-Ev'#|^$'zabbix_server.confLogFile=/var/log/zabbix/zabbix_server.logLogFileSize=0PidFile=/run/zabbix/zabbix_server.pidSocketDir=/run/zabbixDBName=zabbixDBUser=......
  • ORA-01033 : ORACLE initialization or shutdown in progress
    1、问题原因   测试环境反馈某一个模块页面一直加载当中,接口没有返回。   紧接着我就找到这个SQL语句在客户端工具navicat.exe上去执行,执行了整整一个半小时没有返回,navicat还关闭不了,最后实在受不了直接杀死navicat的进程。   这个时候重新打开navicat.exe连接......
  • PyQt报错:Cannot load backend 'Qt5Agg' which requires the 'qt5' interactive framew
    PyQt报错:Cannotloadbackend'Qt5Agg'whichrequiresthe'qt5'interactiveframework,as'headless'iscurrentlyrunning问题描述在远程链接ubuntu虚拟机进行开发时,报错。解决方案原因是pyqt需要绘制UI,而使用远程链接的终端(如windowspowershell、xshell、vscodetermi......
  • MySQL8.0 OCP 103
    Choosethree.Whichthreerequirementsmustbeenabledforgroupreplication?对于组复制,必须启用哪些三个要求?A)replicationfiltersB)semi-syncreplicationpluginC)slaveupdateslogging更新日志记录D)binarylogchecksumE)primarykeyorprimarykeyequ......