【Fungus笔记】No.3:与 Sprite(精灵) 交互,Click(点击) or Drag(拖拽)
当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 Scale与Say之间有先后顺序,可以通过拖拽来调整两条指令的执行顺序。
运行游戏。
在制作游戏时,有时我们需要形成多选一的情况,比如点击 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录制工具不能显示光标,所以拖拽和点击的动作都看不见了,还请大家脑补一下(இωஇ ))。
【Fungus笔记】No.3:与 Sprite(精灵) 交互,Click(点击) or Drag(拖拽)相关推荐
- unity3D如何实现2D sprite,3D物品和UI图片的拖拽效果
[Unity学习笔记] (一)如何实现2d sprite和3D物品的拖拽效果 1.调节camera >- Projection到Orthographic模式 Unity camera proje ...
- el-tree 拖拽互换位置_那些我们与UI交互的动作(三·拖拽)
交互动作的直觉形成于『人与实物』的互动中. 在物理世界:接触物体一定有感觉. 在游戏里:与物体交互一定可以看到变化. 拖拽动作 拖拽对应的真实动作就是拖拽,就是『把物体从这里拿到那里』. 多么简单直接 ...
- WebGL之sprite精灵效果显式数字贴图
接着前一篇<WebGL实现sprite精灵效果的GUI控件>,我们继续开发我们的数字系统GUI控件,因为这套数字系统是基于sprite效果的,所以数字随相机转动而旋转(永远面对相机),随场 ...
- PHP学习笔记-PHP与Web页面的交互2
转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/51761308 本文出自:[顾林海的博客] 前言 在<PHP学习笔 ...
- 使用雪碧图Css Sprite精灵 | 加速网页响应速度
什么是CSS Sprite精灵? 是用于前端的一种图片应用技术,通常情况,我们的开发的网页或许有很多张图片,假如在一个页面上有50多张小图片,这意味着浏览器要逐个下载50张图片.Css Sprite它 ...
- Qml学习笔记:cpp与qml的交互调用方式
Qml学习笔记:cpp与qml的交互调用方式 如何用在cpp中调用qml的方法 main.qml main.cpp 如何在qml中调用C++的方法函数 main.cpp main.qml 如何使用qm ...
- pygame教程----Sprite精灵模块介绍
Sprite精灵模块介绍 来历 "精灵"这个词是从老式电脑和游戏机中流传下来的.这些较老的盒子无法快速绘制和删除普通图像,无法作为游戏使用.这些机器有特殊的硬件来处理需要快速动画的 ...
- 世嘉MD游戏开发【九】:Sprite精灵
终于讲到Sprite精灵了,我自己也很希望快点讲精灵,但是欲速则不达,自己要是还没研究透彻这个知识点就去讲下一个,感觉文章肯定是写不好的. 我用下图来做演示,SFC幽游白书-魔界最强列传里的雷禅: 怎 ...
- 【Cocos2d-x】Sprite精灵类-创建Sprite精灵对象
精灵在Cocos2d-x中的地位就像一场电影中的主角,男主角/女主角,是一场电影中的灵魂所在.也是我们游戏中的灵魂 无论我们控制的对象还是电脑控制的对象,我们都称之为精灵,或者背景中的图片,也可以称为 ...
最新文章
- 计算机第二阶段在线作业冯,中国石油大学(北京)《计算机应用基础》第一次在线作业 2...
- android工程建立到最后一步提示unsupported template dependency的解决方法
- 怎么避免后台被搜索_复星保德信人寿保险有限公司星满意重大疾病保险怎么样?好不好?可信/靠谱吗?有什么优缺点/注意事项?值不值得买?一年多少钱?...
- c语言固定长度的字符串,【分享】C语言动态长度字符串
- Notepad++中Windows,Unix,Mac三种格式之间的转换(换行符的转换)
- 中科大计算机本科毕业论文范文,中国科大本科生毕业论文管理再上新台阶
- 逆向路由器固件之敏感信息泄露 Part2
- vue slot的使用介绍
- Google IO 2015 Material Now
- 排序算法--希尔排序
- 谈谈python的from __future__ import absolute_import
- 使用Chrome谷歌浏览器打开Axure原型图
- 认知科学、神经科学、和认知神经科学
- 获取手机或电脑GPS位置信息(定位平台)
- m被3整除的c语言表达式,C语言编写函数fun,实现从整数m到n,能被3整除
- linux 删除IP地址
- 【AI测试】人工智能测试整体介绍——第四部分
- Clickhouse如何实现数据更新
- LeetCode 2409. 统计共同度过的日子数
- 直播源码网站,点击分享按钮,分享到各个渠道功能的实现