请问如何把已经创建好的蒙太奇用C++指认给Chracter?

[复制链接]
查看2136 | 回复3 | 2017-11-8 20:14:27 | 显示全部楼层 |阅读模式
1.
我在.h头文件创建了一个输入按键,里面的函数 bool TruePiKan 是为了测试是否按下了PiKan按钮
TMQU}W305Q}23N0}K8Y6O5F.png
然后我回到CPP文件,发现了这个错误
3ZT`O4[_E)G4%P6$VR$F1@N.png

然后我编译了一下
]]CC`_XO3}RQ20D[JS8$VMX.png
请问是因为函数里面不能有bool类型的吗?如果我想确定这个按键是否已经按下了,应该如何定义呢?
2.想每按下一次PiKan就会执行一次

在蓝图中 我用到了 PlayAnimMontage 这个蓝图节点
3@YQNOPOYV%NRIE26K`7DMU.png
那请问在C++里面如何实现我按下这个按钮就会执行一次呢?它的子节点Anim Montage我该如何资源呢?

请指教
如果有相关的教程和资源,请分享一下,谢谢





Ecivon | 2017-11-9 15:05:06 | 显示全部楼层
1. BindAction 出错是因为Delegate限制了函数的Signature,你这里的Handler函数PiKan不应该有参数。
2. 对于你想检测是否按下某个键按下这个问题,你需要注意到BindAction前面的IE_Pressed和IE_Released的区别,实际上就是对应蓝图中的两个Exec Pin,那么在 C++中就对应了两个Handler。然后用一个状态量来表示是否按下。或者直接使用PlayerController上的IsInputKeyDown方法。
3. Montage在这里是一个UObject,那么使用方法就是你先要获得这个Anim Montage对应的UObject。
回复 支持 反对

使用道具 举报

天天爱学习 | 2017-11-9 17:55:32 | 显示全部楼层
感谢回答,根据您的解释,我把代码更改成这样
S}]I5(Q$HUE{82~~1(S@FUE.png

我在文档里面查了一下,然后我添加了#include "Runtime/Engine/Classes/Animation/AnimInstance.h"头文件
回复 支持 反对

使用道具 举报

天天爱学习 | 2017-11-9 17:57:55 | 显示全部楼层
Ecivon 发表于 2017-11-9 15:05
1. BindAction 出错是因为Delegate限制了函数的Signature,你这里的Handler函数PiKan不应该有参数。
2. 对 ...

谢谢回答,根据您的回复,我更改了一下代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

12

主题

34

回帖

41

积分

初始化成员

积分
41