查看: 812|回复: 2

[有事请教] 如何让:当人物静止不动时,几秒后出现简单的状态界面?

[复制链接]
梦石
0
星屑
5269
在线时间
733 小时
注册时间
2013-1-18
回帖
525
发表于 2024-1-1 22:38:17 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
类似勇者斗恶龙那种设定,人物不移动的时候,大概2-3秒画面会出现队伍目前角色的HP、MP、LV这些简单的信息。
一旦人物开始移动,信息消失。
这个可以实现吗?
梦石
0
星屑
100
在线时间
1022 小时
注册时间
2021-3-24
回帖
544

MZ评测员

发表于 2024-1-2 00:10:24 | 显示全部楼层
做个在地图层的windows  设定到全局上下文的变量里
初始为完全透明的 设一个time=100
updata写一个判断if time=0  显示这个窗口 否则隐藏,
找到角色移动的方法   移动了 就把上面窗口的time变成100
全家活光光~
回复

使用道具 举报

梦石
0
星屑
7009
在线时间
1280 小时
注册时间
2016-12-6
回帖
378
发表于 2024-1-2 00:11:33 | 显示全部楼层
如果只是人物维持待机一定时间自动显示菜单,这个靠原生功能就能做,比如挂一个并行事件,记录玩家当前XY轴,然后固定等待XX帧,之后再判定一次玩家当前XY轴是否等于此前的记录值
如果判定成功,就直接显示菜单
当然这个做法有一个缺点,它没法识别期间玩家有没有移动行为
要同时判断玩家是不是真的老老实实不动,就要追加一个并行的$gamePlayer.isMoving()判断,玩家有过移动行为就重置等待帧
显示菜单后玩家就只能靠取消键来退出菜单,任意键就能退出菜单需要另外做一个scene并补充相关的触发按钮
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部