Skip to content

关于图片与鼠标控制核心

相关插件

核心插件:

◆Drill_CoreOfPicture 图片 - 图片优化核心

◆Drill_CoreOfPictureWithMouse 图片 - 图片与鼠标控制核心

子插件:

◆Drill_PictureMouseHoverTrigger 图片 - 鼠标悬停触发图片

◆Drill_PictureDraggable 图片 - 可拖拽的图片

◆Drill_PictureAdsorptionSlot 图片 - 图片吸附槽

鼠标控制核心能确保 图片 缩放/旋转/斜切 时都能正常监听到鼠标的变化。

并且可以通过插件指令“DEBUG碰撞体+悬停查看”监听鼠标是否悬停在图片范围内。

该文档主要介绍 鼠标+图片 的用法,比如 图片触发像素判定 功能。
图片与行走图 的鼠标控制有很多相似的地方,可以结合文档“7.行走图 > 关于行走图与鼠标控制核心.docx”一起看看。

悬停判定

碰撞体判定

碰撞体判定: 指鼠标悬停的判定,基于碰撞体。(如下图左边的图片)

鼠标接触到了碰撞体范围,则表示悬停,未接触,则表示未悬停。

像素判定

像素判定: 指鼠标悬停的判定,基于图片中的像素点。(如下图右边的图片)

鼠标接触到图片中的透明像素点,则表示未悬停

鼠标接触到图片中的不透明像素点,则表示悬停

示例 图片管理层,介绍了“DEBUG碰撞体+悬停查看”的用法,鼠标接触就能变绿。变绿就说明鼠标正在悬停于该图片。

像素判定比较费性能,所以默认固定为碰撞体判定,

需要手动加插件指令才能改成像素判定。

图片触发

定义

图片触发: 指绑定了公共事件的图片,执行公共事件触发的过程。

(如果你不知道什么是触发,可以看触发的基本定义:“8.物体 > 触发的本质.docx”)

图片触发范围: 指能触发执行公共事件的接触范围,即图片的碰撞体。

示例 图片管理层,介绍了“DEBUG碰撞体+悬停查看”的用法,鼠标接触就能变绿。

变绿就说明:鼠标正在悬停于该图片。

公共事件触发: 指在某个事件或某个条件下,执行公共事件。

公共事件不存在主动方被动方,而是直接根据条件执行自定义指令。

由于图片不像事件那样灵活,不具备事件页指令功能,所以图片触发 只能依靠 公共事件来实现。

公共事件规划

相关插件:

◆Drill_PictureMouseHoverTrigger 图片 - 鼠标悬停触发图片

由于该插件只支持 单次触发,不支持 持续触发。

(单次触发和持续触发的区别可见“8.物体 > 触发的本质.docx”)

以一个图片的 悬停与离开悬停 为例,

图片要实现这个反馈功能,就需要两个公共事件:

悬停时的公共事件控制图片的滤镜变色,离开悬停时的公共事件恢复变色,

以此来实现悬停的反馈效果。

而要实现鼠标的点击的事件,可以考虑 左键按下[一帧]时/左键释放[一帧]时:

可以去示例中 图片管理层 看看。

这里可以对比插件:Drill_EventMouseHoverSwitch 物体 - 鼠标悬停响应开关功能为:鼠标悬停响应开关在悬停会按下,离开会弹起。开关一条注释的触发(持续触发),对应了图片的两个公共事件触发(单次触发)。F:pg mv箱集开关(三消)法.png

公共事件防连点

图片触发公共事件有个缺点。

就是每点击一次图片,图片就触发执行一次公共事件。

如果玩家不慎点了两次图片,则会出现公共事件执行两次以上的问题。

目前有下面几个解决方案。

1)直接用开关阻塞

为了防连点,可以通过一个开关来实现。

开关如果为OFF,那么就设置ON,等公共事件里面所有内容执行结束之后,才OFF。

这样就能避免公共事件多次触发时,造成指令堆积。

因为正在执行公共事件时,再次触发公共事件,会因为开关为ON,直接跳出。

但这种方法会占用一个开关,不好操作。

2)临时关闭绑定

为了防连点,可以通过临时关闭绑定来实现。

公共事件执行时关闭绑定,这样再次点击,就不会触发公共事件。

等公共事件的 等待指令和对话框 内容执行完毕后,再开启即可。

绑定可以批量关闭、打开。

但实际设计示例时,仍然需要具体问题具体分析。

比如公共事件150,小爱丽丝被点击时,会执行到公共事件,这时候关闭。

但由于小爱丽丝被点击后,就直接走小爱丽丝对话的后续流程,并且 删除图片

因此,重新开启绑定已经没有意义了,所以没加“开启绑定”的指令。

(因为删除图片后,图片的所有绑定会被解除)

重合区域的触发

重合区域: 这里是指多张图片同时满足 悬停判定 的重合的区域。

重合区域在触发 按下[一帧]、释放[一帧]、双击[一帧] 时,默认只触发最上面的图片。

如下图,三个小爱丽丝重合在一起时,点击,会触发最前面的图片(变绿)。

(如果图片使用的都是像素判定,点击了@中间镂空的部分,那么只会触发第二张的小爱丽丝图片,因为点击镂空本身就表示没触发到@图片。)

注意,重合区域判定不含 悬停、离开悬停、滚轮上滚时、滚轮下滚时 的情况,所以图中小爱丽丝都会变黄,离开后会解除黄色。

删除图片与悬停

注意,如果图片触发进入悬停后被立即删除,则“离开悬停”无法被触发。

因为图片已经被删掉了。

图片拖拽

图片拖拽相关介绍可以去看文档:“16.图片 > 关于鼠标拖拽图片.docx”。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史