开启辅助访问
切换到窄版
登录
立即注册
只需一步,快速开始
社区
BBS
找回密码
站务合作
搜索
搜索
每日签到
本版
用户
引擎世界丨EngineWorld.CN
»
社区
›
UnrealEngine 4 专区
›
UE4 编程开发
›
長按的的時間判定
返回列表
发新帖
長按的的時間判定
[复制链接]
3085
|
7
|
2019-3-7 12:36:14
|
显示全部楼层
|
阅读模式
小弟正在試蓄力攻擊的測式,但小弟卡在時間的判定
小弟目前做法是按下攻擊鍵的時候把蓄力的判定打開 ( bHoldAttack = true )
放開攻擊鍵就把蓄力的判定打開 ( bHoldAttack = false )
但這樣的話無法判定按下的時間,有什麼好的方式去抓嗎
這是小弟目前找到的可能方法之一用 GetInputKeyTimeDown 去抓,但測試後不知是那有問題
小弟實測後(time > 0.f)是立即輸出,改成四>1.f ,則沒作用,且以我我比較希望是放開後輸出
目前還達不到小弟的需求
APlayerController *PController = GetWorld()->GetFirstPlayerController();
float time = PController->GetInputKeyTimeDown(EKeys:
eftMouseButton);
if (time > 0.f)
{
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, TEXT("test Input Key Time Down"));
}
回复
使用道具
举报
提升卡
变色卡
千斤顶
叶知秋_lz
|
2019-3-7 14:05:33
|
显示全部楼层
Timer 了解一下
回复
支持
反对
使用道具
举报
久丶情
|
2019-3-7 15:28:22
|
显示全部楼层
时间轴创建函数变量,加几个值在外部检测值是否达到,达到多少用多少伤害
回复
支持
反对
使用道具
举报
mknmknmk
|
2019-3-8 08:57:36
|
显示全部楼层
本帖最后由 mknmknmk 于 2019-3-8 08:59 编辑
bool previousKeyDown=false;
float keydownTime=0;
Tick(float deltaTime)
{
APlayerController *PController = GetWorld()->GetFirstPlayerController();
bool mouseKeyDown
= PController->GetInputKeyDown(EKeys:
eftMouseButton);
if(!previousKeyDown&&mouseKeyDown){
keydownTime=0;
}
else if(previousKeyDown&&mouseKeyDown){
keydownTime +=deltaTime;
}
else if(previousKeyDown&&!mouseKeyDown){
keydownTime=0;
}
previousKeyDown = mouseKeyDown;
if(keydownTime >5.0f){
LeftMouseHoldTime(keydownTime );
}
}
回复
支持
反对
使用道具
举报
lennon1989
|
2019-3-8 10:00:05
|
显示全部楼层
看来不会c++还是不要考虑做游戏了。。
回复
支持
反对
使用道具
举报
cow1330
|
2019-3-9 18:14:16
|
显示全部楼层
感謝大家的幫忙
花了半天終於試出來了,最後用是 Timer 做的
試出廷長的時間的判定之後就搞定
GetInputKeyDown還在試,看來一開始我想的太簡單了
回复
支持
反对
使用道具
举报
此心安处
|
2019-3-11 18:30:47
|
显示全部楼层
在Tick事件里,当bHoldAttack == true时,timeCounter += deltaTime;当bHoldAttack == false时,timeCounter =0 。这个timeCounter就是蓄力的时间。
回复
支持
反对
使用道具
举报
Dsingol
|
2019-4-28 09:59:40
|
显示全部楼层
按下按键的时候,bHoldKey = true, startTime = GetWorld()->TimeSeconds, SetTimer设置进入下阶段蓄力的功能(如果你有多段蓄力的话)
松开按钮的时候,bHoldKey = false, holdTime = GetWorld()->TimeSeconds - startTime. ClearTimer清掉下阶段蓄力的功能
回复
支持
反对
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
UE4 美术交流
UE4 教学资料
UE4 VR/移动开发
cow1330
36
主题
77
回帖
256
积分
初阶编码师
初阶编码师, 积分 256, 距离下一级还需 744 积分
初阶编码师, 积分 256, 距离下一级还需 744 积分
积分
256
加好友
发消息
回复楼主
返回列表
UE4 素材资源分享
UE4 美术交流
UE4 编程开发
UE4 VR/移动开发
UE4 编辑器使用
UE4 教学资料
UE4 综合问答