Project1

标题: 有没有什么办法可以立即停止气泡图标动画播放 [打印本页]

作者: ritsu0922    时间: 2025-3-17 09:17
标题: 有没有什么办法可以立即停止气泡图标动画播放
我想实现一个效果。当npc可以对话时,头顶会不停出现气泡图标动画,直到对话被触发。

我做了两个事件,一个事件是并行处理,会循环让npc播放气泡图标动画,除非“开始对话”开关被开启。另一个事件是npc,当被点击时会打开“开始对话”开关,然后开始对话。

确实可以实现想要的效果,但美中不足的是,如果npc被点击触发对话时气泡图标动画不是刚好结束的话,它不会立即停止,而是非要完整播放完整个动画,才会停下不再触发新的一轮。

感觉有点影响观感,尝试了很久不知道该怎么才能让它立刻停下不管它动画播完没,或者说有没有mz可用的插件能代替我想制作的这个功能呢?

p1是触发气泡图标动画的的事件(我已经尝试过不勾选等待完成并设置等待80帧,没用)p2是npc本身,

屏幕截图 2025-03-16 221458.png (36 KB, 下载次数: 3)

触发动画的事件

触发动画的事件

屏幕截图 2025-03-16 220932.png (31.91 KB, 下载次数: 1)

npc

npc

作者: 526396987    时间: 2025-3-17 12:03
本帖最后由 526396987 于 2025-3-17 12:05 编辑

思路是开始对话时 手动消除气泡,可以在npc对话事件的最开始 加上以下脚本
  1. const balloon = SceneManager._scene._spriteset._balloonSprites.find(sp => {
  2.     return sp.targetObject === $gameMap.event(你的事件ID);
  3. });
  4. if (balloon) {
  5.     balloon._duration = 0;
  6.     SceneManager._scene._spriteset.removeBalloon(balloon);   
  7. };
复制代码

作者: ritsu0922    时间: 2025-3-17 12:11
526396987 发表于 2025-3-17 12:03
思路是开始对话时 手动消除气泡,可以在npc对话事件的最开始 加上以下脚本
...

解决了!超厉害!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1