【Unity插件】文字游戏制作插件Fungus(三):与Sprite(精灵)交互,Click(点击)or Drag(拖拽)

版权声明: https://blog.csdn.net/Ha1f_Awake/article/details/87013274

当Block(段落)的响应事件为Sprite类时,可以通过跟Sprite(精灵)的交互来执行指令。

交互行为包括拖拽点击两种。

首先是 Object Clicked(点击)

设置为点击事件后,它要求我们选定一个 Clickable Object 作为被点击物体。

除了 Clickable Object 外,我们还可以看到与拖拽事件相关的其他物体。

Fungus默认给的是Mushroom,如果不喜欢,可以自定义为其他图片。

    

设置好指令后,运行游戏,点击蘑菇。

拖拽事件的理解方式与点击类似,下面以 Drag Entered(拖拽进入)为例再讲一下。

    

虽然图标比较小,但我们还是可以看到,Draggable Object 引用的是一个C#脚本,而 Target Object 引用的是一个圆形碰撞体(Circle Collider)

接下来要做的是,当拖拽小蘑菇接触大蘑菇的时候,大蘑菇被刺激到“弹”一下,这个通过 Punch Scale指令(Punch!!!)来实现。

   

大蘑菇被刺激后,Hero惊讶地Say:“Oh, the small mushroom stimulated the big mushroom!”

Punch ScaleSay之间有先后顺序,可以通过拖拽来调整两条指令的执行顺序。

运行游戏。


在制作游戏时,有时我们需要形成多选一的情况,比如点击 Sprite 1 之后,再点击 Sprite 2 就没有任何反应。这种行为是通过 Fungus 提供的 Sprite类指令 来实现的。

从上往下,指令的功能分别是:

Fade Sprite:从Sprite淡出。(可类比下一篇所讲的内容)

Set Clickable 2D:设置另一个 Clickable Sprite 或自身能否再被点击。

Set Collider:设置其他物体或自身的碰撞体是否被激活。

Set Draggable 2D:设置另一个 Draggable Sprite 或自身能否再被拖拽。

Set Mouse Cursor:设置光标的纹理(Texture)。(有些情况下,当光标接触到某个物体时,外表会发生改变)

Set Sorting Layer:修改另一个物体的 Sorting Layer(排列层),使其显现或不可见。

Set Sprite Order:修改其他 Sprite 在 Sorting Layer(排列层)上的 Order,调控 Sprite 间的显示顺序。

Show Sprite:淡入Sprite。(同样可类比下一篇所讲的内容)

下面用两个指令演示一下效果:Set Clickable 2D 和 Set Draggable 2D

首先创建三个物体,从左到右依次是 Drag、Click 1、Click 2 。

   

接着在 Flowchart 窗口 中创建三个 Blocks(段落),并分别设置好。

  

点击 Click 1 后,再点击 Click 2 和拖拽 Drag 都不会再有反应。

区别 Drag Cancelled Drag Started,如果选择 Drag Started ,尽管拖拽不了 Drag,但仍然可以执行 Drag段落 的指令,因为 拖拽动作已经开始(Drag has Started);Drag Cancelled 则表示拖拽动作结束,放开了 Sprite 。

运行游戏(因为我的GIF录制工具不能显示光标,所以拖拽和点击的动作都看不见了,还请大家脑补一下(இωஇ ))。

猜你喜欢

转载自blog.csdn.net/Ha1f_Awake/article/details/87013274