当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 CancelledDrag Started,如果选择 Drag Started ,尽管拖拽不了 Drag,但仍然可以执行 Drag段落 的指令,因为 拖拽动作已经开始(Drag has Started);Drag Cancelled 则表示拖拽动作结束,放开了 Sprite 。

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

【Fungus笔记】No.3:与 Sprite(精灵) 交互,Click(点击) or Drag(拖拽)相关推荐

  1. unity3D如何实现2D sprite,3D物品和UI图片的拖拽效果

    [Unity学习笔记] (一)如何实现2d sprite和3D物品的拖拽效果 1.调节camera >- Projection到Orthographic模式 Unity camera proje ...

  2. el-tree 拖拽互换位置_那些我们与UI交互的动作(三·拖拽)

    交互动作的直觉形成于『人与实物』的互动中. 在物理世界:接触物体一定有感觉. 在游戏里:与物体交互一定可以看到变化. 拖拽动作 拖拽对应的真实动作就是拖拽,就是『把物体从这里拿到那里』. 多么简单直接 ...

  3. WebGL之sprite精灵效果显式数字贴图

    接着前一篇<WebGL实现sprite精灵效果的GUI控件>,我们继续开发我们的数字系统GUI控件,因为这套数字系统是基于sprite效果的,所以数字随相机转动而旋转(永远面对相机),随场 ...

  4. PHP学习笔记-PHP与Web页面的交互2

    转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51761308 本文出自:[顾林海的博客] 前言 在<PHP学习笔 ...

  5. 使用雪碧图Css Sprite精灵 | 加速网页响应速度

    什么是CSS Sprite精灵? 是用于前端的一种图片应用技术,通常情况,我们的开发的网页或许有很多张图片,假如在一个页面上有50多张小图片,这意味着浏览器要逐个下载50张图片.Css Sprite它 ...

  6. Qml学习笔记:cpp与qml的交互调用方式

    Qml学习笔记:cpp与qml的交互调用方式 如何用在cpp中调用qml的方法 main.qml main.cpp 如何在qml中调用C++的方法函数 main.cpp main.qml 如何使用qm ...

  7. pygame教程----Sprite精灵模块介绍

    Sprite精灵模块介绍 来历 "精灵"这个词是从老式电脑和游戏机中流传下来的.这些较老的盒子无法快速绘制和删除普通图像,无法作为游戏使用.这些机器有特殊的硬件来处理需要快速动画的 ...

  8. 世嘉MD游戏开发【九】:Sprite精灵

    终于讲到Sprite精灵了,我自己也很希望快点讲精灵,但是欲速则不达,自己要是还没研究透彻这个知识点就去讲下一个,感觉文章肯定是写不好的. 我用下图来做演示,SFC幽游白书-魔界最强列传里的雷禅: 怎 ...

  9. 【Cocos2d-x】Sprite精灵类-创建Sprite精灵对象

    精灵在Cocos2d-x中的地位就像一场电影中的主角,男主角/女主角,是一场电影中的灵魂所在.也是我们游戏中的灵魂 无论我们控制的对象还是电脑控制的对象,我们都称之为精灵,或者背景中的图片,也可以称为 ...

最新文章

  1. 计算机第二阶段在线作业冯,中国石油大学(北京)《计算机应用基础》第一次在线作业 2...
  2. android工程建立到最后一步提示unsupported template dependency的解决方法
  3. 怎么避免后台被搜索_复星保德信人寿保险有限公司星满意重大疾病保险怎么样?好不好?可信/靠谱吗?有什么优缺点/注意事项?值不值得买?一年多少钱?...
  4. c语言固定长度的字符串,【分享】C语言动态长度字符串
  5. Notepad++中Windows,Unix,Mac三种格式之间的转换(换行符的转换)
  6. 中科大计算机本科毕业论文范文,中国科大本科生毕业论文管理再上新台阶
  7. 逆向路由器固件之敏感信息泄露 Part2
  8. vue slot的使用介绍
  9. Google IO 2015 Material Now
  10. 排序算法--希尔排序
  11. 谈谈python的from __future__ import absolute_import
  12. 使用Chrome谷歌浏览器打开Axure原型图
  13. 认知科学、神经科学、和认知神经科学
  14. 获取手机或电脑GPS位置信息(定位平台)
  15. m被3整除的c语言表达式,C语言编写函数fun,实现从整数m到n,能被3整除
  16. linux 删除IP地址
  17. 【AI测试】人工智能测试整体介绍——第四部分
  18. Clickhouse如何实现数据更新
  19. LeetCode 2409. 统计共同度过的日子数
  20. 直播源码网站,点击分享按钮,分享到各个渠道功能的实现

热门文章

  1. 【强化学习】你应该理解的一些关键概念
  2. 技术与工具对应官网地址
  3. chrome浏览器如何跟踪新开标签的网络请求?
  4. 第三方Android 模拟器流畅速度快,适合开发人员(2)
  5. 新媒体运营黎想:活动运营指南,踩过的坑就不要再踩了
  6. PPT文件打开的时候需要输入密码才能编辑?
  7. 电视盒子cpu天梯图排行榜 2023电视盒子cpu对比评测
  8. 说说心情短语_开心心情短语日志
  9. 关于win7启用网络发现以及文件共享
  10. 三国志战略版:SP诸葛能拯救关羽这个老演员吗?