# 制作技巧-事件设置

## <mark style="color:blue;">一、全局变量计算交互次数-不同图层</mark>

### <mark style="background-color:orange;">1.应用场景</mark>

**想实现“多次交互，每次点击/拖拽不同图层，触发相同或不同的xx反馈”的效果**

* 例子1：点击找到5个目标物品后，跳转应用商店
* 例子2：将3块拼图全部成功拖拽到正确位置后，出现"下一关"诱导按钮
* 例子3：每消除1组元素，进度条前进一段；完成3组消除后跳转下一场景
* ... ...

### <mark style="background-color:orange;">2.案例预览</mark>

我们将以模板【考眼力找物品】为例，进行简易版的制作，重点讲解如何通过【全局变量】实现此类玩法的制作。[简易版](http://tinyurl.com/556k7nyx)玩法流程：

* 在画面中点击寻找猫咪
* 每找到1只猫咪，播放一次星星粒子反馈，同时已找到的文本数量+1
* 累计找到三只猫咪后，跳转结束页面

<div align="left"><figure><img src="/files/nxNMRwY3292byvA9hN3i" alt=""><figcaption></figcaption></figure></div>

### <mark style="background-color:orange;">3.步骤详解</mark>

制作此类玩法共需3步：添加数值类型的变量、给每个元素赋值、添加条件判断计算交互次数

#### <mark style="color:red;">**Step1：添加全局变量**</mark>

* 点击【全局变量】 - 【添加变量】
* 输入变量名称（如click times）
* 选择变量类型为【数值】
* 设置click times的初始值为0（即初始画面玩家还未点击）
* 保存

<figure><img src="/files/XlNNs600QHmVlTuClait" alt=""><figcaption></figcaption></figure>

#### <mark style="color:red;">**Step2：赋值**</mark>

* 选中猫咪1图层【cat1】 - 【添加事件】 - 【按下】
* <mark style="color:red;">【添加响应事件】 - 【赋值】：赋值：clicktimes+1</mark>（即按下一个猫咪点击次数就+1）

<div align="left"><figure><img src="/files/3Nl3xwoanOvyOVHVksRg" alt=""><figcaption></figcaption></figure></div>

* 继续添加响应事件 -  【显示素材】cat1 - 【隐藏素材】粒子star1
* 添加完成后，我们点击【复制】按钮，复制该按下事件

<figure><img src="/files/uPa7nSNDZAnAKxmyEe2E" alt=""><figcaption></figcaption></figure>

* 然后依次粘贴到图层【cat2】和【cat3】，并更改对应生效的素材为cat2/star2、cat3/star3

<div align="left"><figure><img src="/files/cBXDR7nTq6tcOXm1nFTr" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">**Step3：添加条件判断**</mark>

* 在当前**场景**下点击【事件】 - 【添加事件】 - 选择【条件判断】 - 【+条件判断】
* <mark style="color:red;">添加条件判断1 为：clicktimes=数值1，并勾选【只生效一次】</mark>（即当交互次数=1时）

<div align="left"><figure><img src="/files/IbE7HOhFwwUlY2bukC7W" alt="" width="563"><figcaption></figcaption></figure></div>

* 【添加响应事件】  - 【显示素材】text\_1 - 【隐藏素材】text\_0

<div align="left"><figure><img src="/files/jm6JNcMJ7Iv1Fl4paee1" alt=""><figcaption></figcaption></figure></div>

* 同理，继续添加2个条件判断：clicktimes=2（即交互次数=2时）、clicktimes=3（即交互次数=3时）
* 并依次添加响应事件：显示text\_2&隐藏text\_1、显示text\_3&隐藏text\_2
* <mark style="color:red;">**注意：**</mark>因为我们想实现“找到三只猫咪后进入结束页面”，所以需要在条件判断3（即当点击次数=3时）额外添加响应事件 - 跳转下一场景（执行延迟0.5s是预留的粒子播放时长）

<figure><img src="/files/uWrNiq86XZ6zsytLbOxk" alt=""><figcaption></figcaption></figure>

到这里，事件设置就全部完成了。当您制作遇到需&#x8981;**“计算不同图层的交互次数 以触发xx反馈”**&#x65F6;，不妨尝试套用此制作逻辑与方法哦!

## <mark style="color:blue;">二、全局变量计算交互次数-相同图层</mark>

### <mark style="background-color:orange;">1.应用场景</mark>

**想实现“多次交互，每次点击/拖拽相同图层，触发相同或不同的xx反馈”的效果**

* 例子1：第1次点击转盘，转盘停在位置A；第二次点击转盘，转盘从位置A开始停在位置B；...
* 例子2：点击"生成"按钮，每点1次就出现一个新角色
* 例子3：点击某物品，每次点击都出现相同的粒子特效或其他反馈
* ... ...

### <mark style="background-color:orange;">2.案例预览</mark>

[本案例](https://tinyurl.com/26cnjbb3) 流程梳理：

* 初始转盘停在红色位置；
* 玩家第一次按下，转盘转到紫色位置停止；
* 玩家第二次按下，转盘从紫色位置继续旋转，到青色位置停止

<div align="left"><figure><img src="/files/EHQb30jtHrRIjLf8wq49" alt=""><figcaption></figcaption></figure></div>

### <mark style="background-color:orange;">3.步骤详解</mark>

制作此类玩法共需2步：添加数值类型的变量、给图层事件添加条件判断并赋值

#### <mark style="color:red;">**Step1：添加全局变量**</mark>

* 点击【全局变量】 - 【添加变量】
* 输入变量名称（如Tap）
* 选择变量类型为【数值】
* 设置初始值为0（即初始画面玩家还未点击）
* 保存

<div align="left"><figure><img src="/files/I7gTAKroDihsmurSTXwJ" alt="" width="317"><figcaption></figcaption></figure></div>

#### <mark style="color:red;">**Step2：添加条件判断并赋值**</mark>

* 选中需要被点击的图层 - 【添加事件】 - 【按下】
* <mark style="color:red;">添加条件判断1 为：tap=0</mark>（即交互次数=0）
* <mark style="color:red;">添加响应事件【赋值】：赋值tap+1</mark>（即交互次数=1）
* 添加响应事件：播放转盘的旋转动画1、播放1次反馈音效等

<div align="left"><figure><img src="/files/24nkSSm7kEWDM2LLRGVJ" alt=""><figcaption></figcaption></figure></div>

* <mark style="color:red;">继续添加条件判断2 为：tap=1</mark>（即交互次数=1）
* <mark style="color:red;">添加响应事件【赋值】：赋值tap+1</mark>（即交互次数=2）
* 添加响应事件：播放转盘的旋转动画2、播放1次反馈音效等
* **同理，若还需玩家点击第3次、第4次...，可依次设置tap=2、tap=3...**

<div align="left"><figure><img src="/files/hUs3eK6Ai8jTsgfzOtVY" alt=""><figcaption></figcaption></figure></div>

*转盘的旋转动画参数如下*

<div align="left"><figure><img src="/files/TpqPNokgA76V8GxaWhVx" alt=""><figcaption></figcaption></figure></div>

到这里，事件设置就全部完成了。当您制作遇到需&#x8981;**“计算相同图层的交互次数 以触发xx反馈”**&#x65F6;，不妨尝试套用此制作逻辑与方法哦!

## <mark style="color:blue;">三、全局变量控制交互开关</mark>

### <mark style="background-color:orange;">1.应用场景</mark>

**想实现“播放反馈时禁止玩家再次交互，待反馈播完后再启用交互”的效果**

* 例子1：三消玩法，每成功完成一组消除，播放粒子及音效反馈；反馈播完才可以继续点击方块，否则点击没有反应
* 例子2：每点击一个盲盒，会弹出不同的物品图片；在展示图片的过程中，禁止点击其他盲盒，直到图片消失
* ... ...

### <mark style="background-color:orange;">2.案例预览</mark>

以 [三消装扮](https://playable-portal.mintegral.com/#/mindwork-view?url=https%3A%2F%2Fmmp-cdn.rayjump.com%2Fmindworks-interactive-ads.html%3Furl%3Dhttps%253A%252F%252Fmmp-cdn.rayjump.com%252Fgm%252Ft%252F20001751%252F13755%252Fpv%252F24%252F12%252F09%252F6756911e0db74%252Fproject.html%253Floading%253D1%2526preview%253Dtrue%2526lang%253Dzh-cn%2526preview%253Dtrue%2526itavideo%253D2%2526vconsole%253D0%2526mw_test%253D0%2526loading%253D1%26mw_test%3D0%26is_browser_tips%3D1%26ptloading%3D1%26track_data%3D%257B%2522pid%2522%253A20001751%252C%2522uid%2522%253A142552%252C%2522skin_id%2522%253A13755%252C%2522sct%2522%253A%2522pt_template_index%2522%252C%2522env%2522%253A%2522p%2522%252C%2522cc%2522%253A%2522SG%2522%257D\&orientation=3\&name=\&language=en%2Czh-cn) 作为案例：消除过程中禁止玩家点击其他方块，要等粒子和音效播放才可以继续点击

### <mark style="background-color:orange;">3.步骤详解</mark>

制作此类玩法可分2步：添加布尔值类型的变量、给图层事件添加条件判断并赋值

#### <mark style="color:red;">**Step1：添加全局变量**</mark>

* 点击【全局变量】 - 【添加变量】
* 输入变量名称（如eliminate）
* 选择变量类型为【布尔值】
* 设置初始值为false

<div align="left"><figure><img src="/files/9fe6aU20awakqbOCmJy6" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">**Step2：添加条件判断并赋值**</mark>

* 以其中一个方块为例，选中该图层，在已有点击事件的所有条件判断下 各新增一个条件判断【eliminate=false】
* 其他方块操作同理

<figure><img src="/files/wo86fTCBGpmBzpCtIWdP" alt=""><figcaption></figcaption></figure>

* 点击场景下的事件，在播放反馈相关的条件判断下设置响应事件：
  * 赋值 【eliminate=true】
  * 执行延迟0.5s(即反馈播放时长)后，赋值 【eliminate=false】
* 其他条件判断的操作同理

\*以上步骤通俗来讲：<mark style="color:orange;">当eliminate=false时，点击事件才生效；触发消除反馈后，赋值eliminate=true，意味着点击事件不再生效；做一个0.5s的时间差，重新赋值eliminate=false，启用点击事件。</mark>如此，实现全局变量控制交互开关的效果

👉案例完整教程 可查阅：[《三消装扮》空白制作教程](/playturbo-an-li-jiao-xue-ji-di/ke-wan-zi-you-bian-ji-qi-an-li/xiao-chu-pi-pei-wan-fa-an-li/san-xiao-zhuang-ban-kong-bai-zhi-zuo-jiao-cheng.md)  [《三消装扮》空白制作教程](/playturbo-an-li-jiao-xue-ji-di/ke-wan-zi-you-bian-ji-qi-an-li/xiao-chu-pi-pei-wan-fa-an-li/san-xiao-zhuang-ban-kong-bai-zhi-zuo-jiao-cheng.md#umduz-1)

<figure><img src="/files/QPrPuxvanGg9l4mCj6qw" alt=""><figcaption></figcaption></figure>

🌟**案例拓展**：如果是例子2所描述的点击开盲盒的玩法，操作会再简单一些

* 同样，添加一个布尔值类型的全局变量，如click，初始值设为false
* 在所有盲盒点击事件的所有条件判断下 各新增一个条件判断 【click=false】
* 直接在每个点击事件的所有条件判断下 新增响应事件 【赋值click=true】、执行延迟0.5s、【赋值click=false】 即可

## <mark style="color:blue;">四、倒计时设置</mark>

### <mark style="background-color:orange;">1.应用场景</mark>

**初始画面设有倒计时**

* **当玩家在设定时间内 无任何操作 或 未完成xx目标时，触发倒计时，进入结局A**
* **当玩家在设定时间内 正确交互或完成xx目标，取消倒计时，进入结局B**

### <mark style="background-color:orange;">2.案例预览</mark>

[本案例](https://tinyurl.com/8de4wcw2) 流程梳理：

* 进入试玩，展示核心玩法与倒计时；
  * 若玩家在10s内完成画线，跳转胜利页面；
  * 若玩家在10s内未完成画线，跳转产品信息页面

<div align="left"><figure><img src="/files/IATRg9Kn0sinOiQ64DFJ" alt=""><figcaption></figcaption></figure></div>

### <mark style="background-color:orange;">3.步骤详解</mark>

设置一个完整的倒计时共需2步：触发倒计时、取消倒计时

#### <mark style="color:red;">**Step1：触发倒计时**</mark>

1）添加倒计时资产后，将倒计时序列帧设为"播放间隔1000ms" "入场自动播放1次"

<div align="left"><figure><img src="/files/Kp6co6RFRnik18bII447" alt=""><figcaption></figcaption></figure></div>

2）在核心玩法场景下添加事件 - 定时触发

3）设置执行延迟N秒后，触发失败结果（如10s后跳转场景3）

<div align="left"><figure><img src="/files/lHydfzIoxM3KebI1y9ie" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">**Step2：取消倒计时**</mark>

**在正确交互的事件下 补充响应事件：取消执行延迟**，选择上一步所设置的定时器ID即可（如图，画线完成后跳转场景2，并取消定时器timer\_1）

<div align="left"><figure><img src="/files/iK5dl9DsN6zeZZZSmnv9" alt=""><figcaption></figcaption></figure></div>

*Tips：【预设库】内有多个倒计时预设可供使用哦！* [预设库](/ke-wan-gong-ju-zi-you-bian-ji-qi/zi-you-bian-ji-qi-shi-yong-zhi-nan/bian-ji-ye-mian-fen-qu-jie-shao/ding-bu-zi-chan-ku/yu-she-ku.md)

<div align="left"><figure><img src="/files/fJGWIk594OSF3I2ysI9F" alt="" width="330"><figcaption></figcaption></figure></div>

## <mark style="color:blue;">五、错误反馈跟随拖拽位置实时出现</mark>

### 1.[案例预览](https://playable-portal.mintegral.com/common-viewer/mindwork-view.html?url=https%3A%2F%2Fmmp-cdn.rayjump.com%2Fmindworks-interactive-ads.html%3Furl%3Dhttps%253A%252F%252Fmmp-cdn.rayjump.com%252Fps%252Fpreview%252F24%252F09%252F29%252F66f92bcb73c80%252Findex.html%253Floading%253D1%2526preview%253Dtrue%2526lang%253Dzh-cn%2526preview%253Dtrue%2526itavideo%253D2%2526vconsole%253D0%2526mw_test%253D0%2526loading%253D1%26mw_test%3D0%26is_browser_tips%3D1%26ptloading%3D1%26track_data%3D%257B%2522pid%2522%253A3116454%252C%2522uid%2522%253A8709%252C%2522sct%2522%253A%2522pt_project_ps%2522%252C%2522env%2522%253A%2522p%2522%252C%2522cc%2522%253A%2522CN%2522%257D\&orientation=3\&name=\&language=en)

### 2.步骤详解

1）在 资产库 - 粒子库 中，先添加任一粒子特效。仅需要单个粒子特效

2）在【粒子贴图】处，将粒子图片替换为错误反馈，如"×"

<div align="left"><figure><img src="/files/ZHAs2qTKChqTsLFolDy0" alt="" width="492"><figcaption></figcaption></figure></div>

3）按照下图数值，调整粒子参数

<div align="left"><figure><img src="/files/EdNDdDfVYTUt4VKAFabY" alt=""><figcaption></figcaption></figure></div>

4）多选图层(粒子、待拖拽图片等)进行编组，并隐藏粒子图层

<div align="left"><figure><img src="/files/FhyHQwHzHV9Jm8Qq7gcp" alt="" width="182"><figcaption></figcaption></figure></div>

5）在拖拽组上添加触发事件 - 未拖拽到指定位置，并设置拖拽区域

6）添加响应事件：显示并播放粒子特效；从头播放1次错误音效

<div align="left"><figure><img src="/files/eHrUr5jbBVvR1aSjh536" alt="" width="243"><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.playturbo.cn/ke-wan-gong-ju-zi-you-bian-ji-qi/zi-you-bian-ji-qi-zhi-zuo-ji-qiao-zhong-xin/tong-yong-zhi-zuo-ji-qiao/zhi-zuo-ji-qiao-shi-jian-she-zhi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
