跳到主要内容

关于事件弹窗的小技巧

Event Popup Tips and Tricks - Yanfly.moe Wiki

Event & Move Core里的事件弹窗配合Message Core,可以做一些不错的效果,这里是一些小技巧

这里不能直接显示从wiki外链过来的图片,所以请点进原文看

自动文本

EventPopupTut 1a.gif

只要玩家经过事件,不用停下对话,就能在事件头顶上显示一个对话文本

要实现这个效果,只需在插件命令Event Popup: Event's 中的Event ID参数中偏移显示位置。如果想让文本显示在玩家头上,就用Event Popup: Player's来设置

一般文本会向上移动,但在插件命令的Popup Setting中,将结尾偏移 Y 与开头偏移 Y 调成相同的数值,文本就能够保持原位

EventPopupTut 1b.png

这一更改会防止文字向上移动,也不会短暂出现在目标角色头顶上方。

获得物品提示

活动 MoveCore 更新 132 Preview.gif

这一功能被设置为了Event Popup: Player's的默认值,可以使用Message Core提供的控制符\LastGainObjQuantity和\LastGainObj来实现

要实现这个效果,在获得道具的事件中,用插件命令Event Popup: Player's来显示弹窗,像这样

事件弹出图特 2a.png

显示内容为如下内容

+\LastGainObjQuantity\LastGainObj

使用这一控制符,文本就会显示为玩家刚得到的物品数量和物品种类

失去物品的情况下,把+号变为-号就可以了

事件弹出图特2b.png

赠送礼物

事件弹出图特 3.gif

我们依然使用插件命令Event Popup: Player's来实现这一效果

事件弹出图特3a.png

将显示文本用于显示图标,然后将它从一个角色传递到另一个角色

在Popup Settings里更改偏移量:

事件弹出图特 3b.png

将Y偏移降低,因为我们希望物品看起来能更接近角色身体,并保持开头和结尾的Y偏移不变,将结尾偏移X改为+48,让弹出窗口向右移动一格

不过这样的话,只有在从左侧激活事件时才有效,所以现在,我们使用js来设定偏移量

事件弹出图特 3c.png

+0 //起始偏移量X

($gameMap.tileHeight() / -2) //起始偏移Y

($gamePlayer.direction() === 4) ? -$gameMap.tileWidth() : (($gamePlayer.direction() === 6) ? $gameMap.tileWidth() : 0) //结尾偏移X

(($gamePlayer.direction() === 8) ? -$gameMap.tileHeight() : (($gamePlayer.direction() === 2) ? $gameMap.tileHeight() : 0)) + ($gameMap.tileHeight() / -2) //结尾偏移Y

这些代码必须复制粘贴成一行

这样就可以支持从四个方向都可以送礼

投掷物品

事件弹出图特 4.gif

既然我们前面用了JS,那么现在也能用JS来实现将物品投掷到任意位置的功能

和之前一样用图标控制符显示文本

事件弹出图特4a.png

现在要开始算起始和结束的偏移量,这次我们计算的是事件的偏移量,这样,在弹窗设置中使用不同的公式

事件弹出图特 4b.png

起始偏移量 X

+0

起始偏移 Y

($gameMap.tileHeight() / -2)

结束偏移X

($gameMap.event(id).x - $gamePlayer.x) * $gameMap.tileWidth()

将“id”替换为事件的数字ID。

结尾偏移 Y

(($gameMap.event(id).y - $gamePlayer.y) * $gameMap.tileHeight()) + ($gameMap.tileHeight() / -2)

将“id”替换为事件的数字ID。

如果只是想把物品扔到空格子:

结束偏移X

(targetTileX - $gamePlayer.x) * $gameMap.tileWidth()

将“targetTileX”替换为数字X坐标。

结尾偏移 Y

((targetTileY - $gamePlayer.y) * $gameMap.tileHeight()) + ($gameMap.tileHeight() / -2)

将“targetTileY”替换为数值Y坐标。

事件弹出图特4c.png

此时物品会按直线方向飞出,我们需要弧线,所以将Arc Peak改为100,那么就可以做出投掷物品的效果了

总结

通过这个事件弹窗功能,可以为游戏体验和游戏演出增添更多趣味。只要记住,任何通过控制符传递的信息都可以在此使用。