关于图片与鼠标控制核心
相关插件
核心插件:
◆Drill_CoreOfPicture 图片 - 图片优化核心
◆Drill_CoreOfPictureWithMouse 图片 - 图片与鼠标控制核心
子插件:
◆Drill_PictureMouseHoverTrigger 图片 - 鼠标悬停触发图片
◆Drill_PictureDraggable 图片 - 可拖拽的图片
◆Drill_PictureAdsorptionSlot 图片 - 图片吸附槽
鼠标控制核心能确保 图片 缩放/旋转/斜切 时都能正常监听到鼠标的变化。
并且可以通过插件指令“DEBUG碰撞体+悬停查看”监听鼠标是否悬停在图片范围内。
该文档主要介绍 鼠标+图片 的用法,比如 图片触发 、像素判定 功能。 |
图片与行走图 的鼠标控制有很多相似的地方,可以结合文档“7.行走图 > 关于行走图与鼠标控制核心.docx ”一起看看。![]() ![]() |
悬停判定
碰撞体判定
碰撞体判定: 指鼠标悬停的判定,基于碰撞体。(如下图左边的图片)
鼠标接触到了碰撞体范围,则表示悬停,未接触,则表示未悬停。
像素判定
像素判定: 指鼠标悬停的判定,基于图片中的像素点。(如下图右边的图片)
鼠标接触到图片中的透明像素点,则表示未悬停,
鼠标接触到图片中的不透明像素点,则表示悬停。
示例 图片管理层,介绍了“DEBUG碰撞体+悬停查看”的用法,鼠标接触就能变绿。变绿就说明鼠标正在悬停于该图片。 |
像素判定比较费性能,所以默认固定为碰撞体判定,
需要手动加插件指令才能改成像素判定。
图片触发
定义
图片触发: 指绑定了公共事件的图片,执行公共事件触发的过程。
(如果你不知道什么是触发,可以看触发的基本定义:“8.物体 > 触发的本质.docx
”)
图片触发范围: 指能触发执行公共事件的接触范围,即图片的碰撞体。
示例 图片管理层,介绍了“DEBUG碰撞体+悬停查看”的用法,鼠标接触就能变绿。
变绿就说明:鼠标正在悬停于该图片。
公共事件触发: 指在某个事件或某个条件下,执行公共事件。
公共事件不存在主动方被动方,而是直接根据条件执行自定义指令。
由于图片不像事件那样灵活,不具备事件页指令功能,所以图片触发 只能依靠 公共事件来实现。 |
公共事件规划
相关插件:
◆Drill_PictureMouseHoverTrigger 图片 - 鼠标悬停触发图片
由于该插件只支持 单次触发,不支持 持续触发。
(单次触发和持续触发的区别可见“8.物体 > 触发的本质.docx
”)
以一个图片的 悬停与离开悬停 为例,
图片要实现这个反馈功能,就需要两个公共事件:
悬停时的公共事件控制图片的滤镜变色,离开悬停时的公共事件恢复变色,
以此来实现悬停的反馈效果。
而要实现鼠标的点击的事件,可以考虑 左键按下[一帧]时/左键释放[一帧]时:
可以去示例中 图片管理层 看看。
这里可以对比插件:Drill_EventMouseHoverSwitch 物体 - 鼠标悬停响应开关功能为:鼠标悬停响应开关在悬停会按下,离开会弹起。开关一条注释的触发(持续触发),对应了图片的两个公共事件触发(单次触发)。![]() |
公共事件防连点
图片触发公共事件有个缺点。
就是每点击一次图片,图片就触发执行一次公共事件。
如果玩家不慎点了两次图片,则会出现公共事件执行两次以上的问题。
目前有下面几个解决方案。
1)直接用开关阻塞
为了防连点,可以通过一个开关来实现。
开关如果为OFF,那么就设置ON,等公共事件里面所有内容执行结束之后,才OFF。
这样就能避免公共事件多次触发时,造成指令堆积。
因为正在执行公共事件时,再次触发公共事件,会因为开关为ON,直接跳出。
但这种方法会占用一个开关,不好操作。
2)临时关闭绑定
为了防连点,可以通过临时关闭绑定来实现。
公共事件执行时关闭绑定,这样再次点击,就不会触发公共事件。
等公共事件的 等待指令和对话框 内容执行完毕后,再开启即可。
绑定可以批量关闭、打开。
但实际设计示例时,仍然需要具体问题具体分析。
比如公共事件150,小爱丽丝被点击时,会执行到公共事件,这时候关闭。
但由于小爱丽丝被点击后,就直接走小爱丽丝对话的后续流程,并且 删除图片。
因此,重新开启绑定已经没有意义了,所以没加“开启绑定”的指令。
(因为删除图片后,图片的所有绑定会被解除)
重合区域的触发
重合区域: 这里是指多张图片同时满足 悬停判定 的重合的区域。
重合区域在触发 按下[一帧]、释放[一帧]、双击[一帧] 时,默认只触发最上面的图片。
如下图,三个小爱丽丝重合在一起时,点击,会触发最前面的图片(变绿)。
(如果图片使用的都是像素判定,点击了@中间镂空的部分,那么只会触发第二张的小爱丽丝图片,因为点击镂空本身就表示没触发到@图片。)
注意,重合区域判定不含 悬停、离开悬停、滚轮上滚时、滚轮下滚时 的情况,所以图中小爱丽丝都会变黄,离开后会解除黄色。 |
删除图片与悬停
注意,如果图片触发进入悬停后被立即删除,则“离开悬停”无法被触发。
因为图片已经被删掉了。
图片拖拽
图片拖拽相关介绍可以去看文档:“16.图片 > 关于鼠标拖拽图片.docx ”。 |