# \<Screw Puzzle>Blank Canvas Tutorial

Please Note: This tutorial focuses on creating playables with the "Screw Removal" gameplay using **Blank Canvas**. The template "[Screw Puzzle](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%252Fgm%252Ft%252F20001522%252F13429%252Fpv%252F24%252F12%252F02%252F674da23bf3baf%252Fproject.html%253Fpreview%253Dtrue%2526itavideo%253D2%2526vconsole%253D0%2526mw_test%253D0%2526ptloading%253D1%2526loading%253D1%26mw_test%3D0\&orientation=undefined\&name=%E8%9E%BA%E4%B8%9D%E8%B0%9C%E9%A2%98\&language=undefined)" was originally designed based on this guide and created independently by designers without any coding, making it equivalent to a Blank Canvas project. Therefore, you can directly use the template to create a Content Creation project as a reference for Blank Canvas, and combine it with this guide for even better learning results!

*💡 Although the original project features 4 screws and 6 slots, you can use this creation logic to add or remove screws and slots to design playables of varying difficulties and styles!*

## 📒<mark style="color:blue;">Basic Info</mark> <a href="#h5pts" id="h5pts"></a>

* \[Difficulty]: ⭐⭐⭐⭐⭐
* \[Applicable Products]: Universal, especially for screw removal gameplay
* \[Interaction]: Press
* \[Freedom]: Fully free
* \[Core Assets]: Images
* \[Features]: Press-Show/Hide layer；Global Variables

## 📒<mark style="color:blue;">Effect Preview</mark>

<table><thead><tr><th width="231.33333333333331">Best experience for playable on mobile devices</th><th width="204">Vertical screen</th><th>Horizontal screen</th></tr></thead><tbody><tr><td><img src="/files/w0NJgsRdmcMSE73RNLXb" alt="" data-size="original"></td><td><img src="/files/XnJ6lsiNkiQo8rTg5G4u" alt="" data-size="original"></td><td><img src="/files/sWCpI9jJS8nCJzXfhNdo" alt="" data-size="original"></td></tr><tr><td>Scan to play</td><td><a href="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%252Fgm%252Ft%252F20001522%252F13429%252Fpv%252F24%252F12%252F02%252F674da23bf3baf%252Fproject.html%253Fpreview%253Dtrue%2526itavideo%253D2%2526vconsole%253D0%2526mw_test%253D0%2526ptloading%253D1%2526loading%253D1%26mw_test%3D0&#x26;orientation=undefined&#x26;name=%E8%9E%BA%E4%B8%9D%E8%B0%9C%E9%A2%98&#x26;language=undefined">Click to play</a></td><td><a href="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%252Fgm%252Ft%252F20001522%252F13429%252Fpv%252F24%252F12%252F02%252F674da23bf3baf%252Fproject.html%253Fpreview%253Dtrue%2526itavideo%253D2%2526vconsole%253D0%2526mw_test%253D0%2526ptloading%253D1%2526loading%253D1%26mw_test%3D0&#x26;orientation=undefined&#x26;name=%E8%9E%BA%E4%B8%9D%E8%B0%9C%E9%A2%98&#x26;language=undefined">Click to play</a></td></tr></tbody></table>

## 📒<mark style="color:blue;">Gameplay Overview</mark>

**Before starting the production, we need to outline the gameplay logic for this case：**

1. Enter the playable, showing the "initial screw layout" and "click guidance animation".
2. Players can click to remove any screw from holes 2/4/5/6. After clicking, a "placement guidance animation" will appear.
3. Players can then place the screw into either hole 1 or 3. Upon placement, the corresponding animation feedback will play.
4. Once all four screws are removed and placed into empty holes (resulting in the two wooden planks being detached), the "victory feedback" will play, followed by the end page.
5. Additional details: If a screw is placed into a hole that is not empty, there will be no feedback. Screws that are already placed cannot be removed again.
6. Fake level end page: Players can tap anywhere on the screen to "redirect to app store".

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

## 📒<mark style="color:blue;">Production Approach</mark>

**Core Concept:** Minimize the number of animations and events within each scene, maintain clear logic in scene segmentation, and keep the layer structure simple.

**Scene Segmentation:** Based on the gameplay logic from the previous section, this case can be divided into 2 scenes for production: Core Gameplay + End Page.

<table><thead><tr><th width="144">Scene Name</th><th width="328">Scene 1 - Core Gameplay</th><th>Scene 2 - End Page</th></tr></thead><tbody><tr><td><strong>Visual Rendering</strong></td><td><img src="/files/RMJyuX2gjIsT0aXebpWl" alt="" data-size="original"></td><td><img src="/files/gm5TtmqSn4OMh9O5UlFZ" alt="" data-size="original"></td></tr><tr><td><strong>Scene Description</strong></td><td>Guide players to remove and place screws, detaching the wooden planks.</td><td>Fake levels induce players to click to download.</td></tr><tr><td><strong>Core Assets</strong></td><td><p><strong>Static Images</strong>: Background board with holes, two wooden planks, screw caps, screws, and operational guidance.</p><p><strong>Sound Effects</strong>: Clicking, correct placement, plank collision, plank falling, victory sound.</p></td><td><p><strong>Static Images</strong>: Fake level</p><p><strong>Sound Effects</strong>: New level appearance sound effect.</p></td></tr><tr><td><strong>Core Animations</strong></td><td><p><strong>Plank movement</strong>: </p><p>Displacement Easing &#x26; Spin Easing</p></td><td><p><strong>Fake level</strong>: </p><p>Alpha Easing &#x26; Scale Easing</p></td></tr><tr><td><strong>Core Events</strong></td><td><p><strong>Trigger Object</strong>: Six holes (1-6) with screws.</p><p><strong>Trigger Event</strong>: Press &#x26; Condition</p><p><strong>Response Event</strong>: Show/Hide layer; Assign the value</p><hr><p><strong>Trigger Object</strong>: Scene 1</p><p><strong>Trigger Event</strong>: Condition</p><p><strong>Response Event</strong>: Play animation; Assign the value</p></td><td><p><strong>Trigger Object</strong>: Scene 2</p><p><strong>Trigger Event</strong>: Press</p><p><strong>Response Event</strong>: Redirect to app store.</p></td></tr></tbody></table>

## 📒<mark style="color:blue;">**Production Guidelines**</mark> <a href="#qh8tn" id="qh8tn"></a>

**\*The core contents are Step1 \[Scene Setup] & Step4 \[Event Setting]**

### **Step 1 - Scene Setup** <a href="#znmfx" id="znmfx"></a>

It is recommended to upload all assets into the "Project Assets" after creating the project for easier access and usage in the future.

#### **1.Global Settings**

* Add BGM and background image in the "Global Settings."
* Add permanent info in the "Global Scene", such as product logo, download button, etc.

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

#### **2.**&#x53;cene 1

* Add the relevant assets to Scene 1.
* Adjust all assets to appropriate positions and sizes. Name, group, and organize assets based on their types (details can be reviewed within the project).

**⚠️For gameplay involving changes in item appearance or position after interaction, the production logic is as follows: "Place all potential items at every possible position, hide the items that won’t appear in the initial state, and use event settings to control the visibility of specific items to achieve the desired effect."**

<mark style="color:red;">Since four screws can be removed, screws and screw caps need to be added at holes 2, 4, 5, and 6. Additionally, due to the uncertain order of player actions, screws may be placed in any of the six holes. Therefore, each of the six holes should include an additional screw cap, which is initially set to a hidden state (only the four screw caps on the wooden planks should be visible at the start).</mark>

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

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

* Adjust other layer initial state: Set any layers that don't need to be displayed in the initial screen to "hidden" status, and then control the visibility of these layers through events later (details can be reviewed within the project).

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

#### 3.Scene 2

* Add the relevant assets to Scene 2.
* Adjust all assets to appropriate positions and sizes. Name, group, and organize assets based on their types (details can be reviewed within the project)
* Mark Scene 2 as the "Ending Scene" to report the end of the playable ads.

<figure><img src="/files/9NOMGdoqD4SsI2giWLVH" alt=""><figcaption></figcaption></figure>

####

### Step 2 - Landscape & Portrait Orientation Adaptation

After completing the layout for portrait orientation, we need to adjust the "layout for landscape orientation" and the "screen adaptation for both landscape and portrait orientations."

#### 1.Adjust the layout for landscape orientation.

* Switch to landscape mode and select **all the top-level layers**.
* Use the "**Reuse vertical screen position configuration**" function to automatically adjust the layout.
* Then fine-tune the position and scale of each layer.
* The same applies to scene 2.

<div><figure><img src="/files/nGPkgus8dVK4QNRLub0z" alt=""><figcaption></figcaption></figure> <figure><img src="/files/ssEhQ7Tn2bhRSeIR4i0D" alt=""><figcaption></figcaption></figure></div>

#### 2.Adjust the screen adaptation.

All layers in this case are set to center adapt by default, so there is no need to make special adjustments for screen adaptation.

#### &#x20;<a href="#dcm38" id="dcm38"></a>

### Step 3 - Animation Setting <a href="#dcm38" id="dcm38"></a>

The core animation of this case focuses on the rotation and falling effects of the vertical and horizontal wooden planks. Before starting formal production, it's recommended to outline all potential animations for these two wooden planks.

<table data-header-hidden><thead><tr><th width="164"></th><th width="410"></th><th></th></tr></thead><tbody><tr><td>Vertical Wooden Plank</td><td><ol><li>Drops straight down.</li><li>Slightly rotates to the right around hole 2.</li><li>Rotates to the left around hole 6.</li><li>Rotates to the left around hole 6 and then drops.</li></ol></td><td><img src="/files/dRcFiOrvOGP2D8Pn7A88" alt="" data-size="original"></td></tr><tr><td>Horizontal Wooden Plank</td><td><ol><li>Rotates to the left around hole 4.</li><li>Rotates and falls to the right.</li><li>Rotates to the right around hole 5.</li><li>Rotates and falls to the left.</li><li>Drops straight down.</li></ol></td><td><img src="/files/dRcFiOrvOGP2D8Pn7A88" alt="" data-size="original"></td></tr></tbody></table>

We will now introduce these in detail one by one.

*(Tip: To create the effect of an object rotating around a specific pivot point, you need to place the object in a group and adjust the group's position and size to the pivot point, which in this case is the screw's position.)*

#### <mark style="background-color:yellow;">1-1. Vertical Wooden Plank Drops Straight Down</mark>

Select the vertical wooden plank group "WoodV," and add an animation: **Universal - Displacement Easing**. Configure the parameters as follows:

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

#### <mark style="background-color:yellow;">1-2. Vertical Wooden Plank Rotates Slightly to the Right</mark>

Select the vertical wooden plank group "lock1\_1," and add an animation: **Universal - Spin Easing**. Configure the parameters as follows:

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

#### <mark style="background-color:yellow;">1-3. Vertical Wooden Plank Rotates and Then Drops</mark>

Continue adding animations to the vertical wooden plank group "lock1\_1": **Universal - Displacement Easing** & **Spin Easing**. Configure the parameters as follows:

<div><figure><img src="/files/IWxsEGTnnUlVkrNAVmZo" alt=""><figcaption></figcaption></figure> <figure><img src="/files/EMxQw9VNz3vVp91os1NI" alt=""><figcaption></figcaption></figure></div>

#### <mark style="background-color:yellow;">1-4. Vertical Wooden Plank Rotates to the Left</mark>

Select the vertical wooden plank group "lock1\_2," and add an animation: **Universal - Spin Easing**. Configure the parameters as follows:

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

#### <mark style="background-color:yellow;">2-1. Horizontal Wooden Plank Rotates to the Left/Right</mark>

* Select the horizontal wooden plank group "lock2\_1," and add an animation: **Universal - Spin Easing**. Configure the parameters as follows:
* Copy this animation to "lock2\_2" and fine-tune the ending state parameters as needed.

<div><figure><img src="/files/kmj7qrUlCbbqBJBKq4P6" alt=""><figcaption></figcaption></figure> <figure><img src="/files/fQEAvoN86JlbQCdCGs59" alt=""><figcaption></figcaption></figure></div>

#### <mark style="background-color:yellow;">2-2. Horizontal Wooden Plank Rotates and Falls to the Right</mark>

* Continue adding an animation to "lock2\_1": **Universal - Displacement Easing**. Configure the parameters as follows:
* Then select the horizontal wooden plank group "WoodH," and add an animation: **Universal - Spin Easing**. Configure the parameters as follows:

<div><figure><img src="/files/9bYFa9gwNJaPtx49jJGh" alt=""><figcaption></figcaption></figure> <figure><img src="/files/OoASm4cZ9nCskoOEaWup" alt=""><figcaption></figcaption></figure></div>

#### <mark style="background-color:yellow;">2-3. Horizontal Wooden Plank Rotates and Falls to the Left</mark>

Copy the above two animations to the corresponding group and fine-tune the ending state and offset-x parameters as needed.

<div><figure><img src="/files/0p7nkUIYb0DQzHzKkjLU" alt=""><figcaption></figcaption></figure> <figure><img src="/files/XIdRVmNfoEVPAzJ6Q6rf" alt=""><figcaption></figcaption></figure></div>

#### <mark style="background-color:yellow;">2-4. Horizontal Wooden Plank Drops Straight Down</mark>

Select the horizontal wooden plank group "WoodH" and add an animation: **Universal - Displacement Easing**. Configure the parameters as follows:

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

#### &#x20;<a href="#lnpxj" id="lnpxj"></a>

### <mark style="background-color:red;">Step 4 -</mark> <mark style="background-color:red;"></mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**Event**</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">Setting</mark> <a href="#lnpxj" id="lnpxj"></a>

After setting up all elements, we need to link the entire flow by configuring events.

**The core events in this case focus on the six holes (including four screws) and Scene 1:**

* Layer Events: Used to link the feedback after pressing each screw and determine whether the wooden plank holes are unlocked.
* Scene Events: Used to link the animation feedback of the horizontal and vertical wooden planks.

Next, we will explain them in sequence.

<mark style="color:red;">**🌟**</mark> To achieve the following:

a. Determine the status of the wooden plank holes: Whether there are screws and if the screws have been removed.

b. Determine whether the wooden plank holes are unlocked: Whether the screws in holes 2, 4, 5, and 6 have been removed.

c. Determine the status of the wooden planks: Trigger corresponding animation feedback.

**To achieve the above effects, we need to use the** [**Global Variables**](/playable-tools-content-editor/content-editor-user-guide/editing-page-module-intro/top-asset-library/global-variables.md) **feature. The following image outlines the usage of global variables in this case, which will help in understanding the process.**

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

#### <mark style="color:red;">**1.Adding Global Variables**</mark>

1.1 We first need to add six Global Variables to represent the status of the six wooden plank holes and screws:

* Click "Global Variables" → "Add variables."
* Enter the variable name (e.g., screw1), select the variable type as "Value," set the initial value of screw1 to 0, and save.
* Follow these steps to add variables for screw2, screw3, screw4, screw5, and screw6.

*<mark style="background-color:yellow;">Since the initial states of the six wooden plank holes differ (holes 1 and 3 are initially empty, while the others have screws inserted), their initial values also differ: screw1 and screw3: Initial value = 0. screw2, screw4, screw5, and screw6: Initial value = 1.</mark>*

<div><figure><img src="/files/teRRP1Nu2WXHrM5OMBKS" alt="" width="264"><figcaption></figcaption></figure> <figure><img src="/files/QINPHD5XLJAWkq1wDQl9" alt=""><figcaption></figcaption></figure></div>

1.2 Next, add four Global Variables to represent whether the four screw holes are unlocked.

* Click "Global Variables" → "Add variables."
* Enter the variable name (e.g., lock2), select the variable type as "Boolean," set the initial value of lock2 to false, and save.
* Follow these steps to add variables for lock4, lock5, and lock6.

*<mark style="background-color:yellow;">As this case requires unlocking four screw holes, four variables are created. false: The screw hole is locked. true: The screw hole is unlocked (empty). All four variables’ initial values are set to false.</mark>*

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

1.3 Finally, add four Global Variables to represent the status of the horizontal and vertical wooden planks.

* Click "Add variables" and create two variables of the type "Boolean" to represent whether the horizontal and vertical wooden planks have dropped.
* Set the initial values of "wooddrop\_V" and "wooddrop\_H" to true and save.
* Add two variables of the type "Text" to indicate the drop direction of the horizontal and vertical wooden planks.
* Set the initial values of "V\_path" and "H\_path" to "D" (Down) and save.

*<mark style="background-color:yellow;">In these variables: true indicates that the plank is still visible on the screen. false indicates that the plank has completely fallen. D (Down) represents that the plank’s default drop direction is vertically downward.</mark>*

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

#### <mark style="color:red;">**2.**</mark><mark style="color:red;">Add Events and Conditions to Hole 1 & Hole 3</mark>

Take Hole 1 as an example:

1）Select the group layer "screw1" and Add Event - Press.

2）Add <mark style="background-color:red;">**Condition 1**</mark>: "screw1=0" AND "screw2=2"  *<mark style="background-color:yellow;">(This corresponds to: When screw2 is removed and placed into Hole 1, it triggers specific outcomes.)</mark>*

<div><figure><img src="/files/vOi27qCkaU9lxlmlamv7" alt=""><figcaption></figcaption></figure> <figure><img src="/files/t6kylRrt6GIfEj9J76Jd" alt="" width="183"><figcaption></figcaption></figure></div>

*3）*&#x41;dd the following response events:

* Assign the value: Set screw1=1 and screw2=0\ <mark style="background-color:yellow;">(This means that when screw2 is placed into Hole 1, Hole 1’s status changes to “screw has been</mark> <mark style="background-color:yellow;"></mark>*<mark style="background-color:yellow;">pressed,” and Hole 2’s status changes to “empty.”)</mark>*
* Assign the value: Set lock2=true\
  \&#xNAN;*<mark style="background-color:yellow;">(The initial value of lock2 is false. In this operation, Hole 2 is unlocked, so we assign lock2=true to indicate it is now unlocked.)</mark>*
* Display screw cap 1 and hide screw 2.
* Hide the operation guide and simultaneously play related particle and sound effects.

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

4）<mark style="background-color:red;">**Conditions 2/3/4 are similar to Condition 1**</mark>. Simply copy and paste the above event setup, then fine-tune the Conditions and response objects related to screw2/lock2.

<div><figure><img src="/files/CPmnEDRjObL8kTVA4MiB" alt=""><figcaption></figcaption></figure> <figure><img src="/files/6NwtYJ5QOcbtvW5dMEvx" alt=""><figcaption></figcaption></figure> <figure><img src="/files/tTZO3oGR2jSmPq3k9OHs" alt=""><figcaption></figcaption></figure></div>

5）Once all four Conditions are set up, the events for "screw1" are complete.

Since Hole 1 and Hole 3 have the same initial status, you can directly copy all events from "screw1" to "screw3" and adjust the related Conditions and response events for "screw3."

<div><figure><img src="/files/JbLgQKXn1IGDvLVxwZGM" alt=""><figcaption></figcaption></figure> <figure><img src="/files/DCnSJJLIVw8kzVsRJqE9" alt=""><figcaption></figcaption></figure></div>

#### <mark style="color:red;">3.Add Events and Conditions to Hole 2, Hole 4, Hole 5, and Hole 6</mark>

Since the initial states of Hole 2, Hole 4, Hole 5, and Hole 6 are the same, you only need to set up the events for one layer (e.g., Hole 2) first. Then, copy and paste the setup to other layers and fine-tune the parameters.

Take Hole 2 as an example:

1）Select the group layer "screw2" and Add Event Press.

2）Add <mark style="background-color:red;">**Condition 1**</mark>: "screw2=1" AND "screw4≠2" AND "screw5≠2" AND "screw6≠2"\
\&#xNAN;*<mark style="background-color:yellow;">(This corresponds to: When screw2 is in a pressed state, and the other screws are not in a pulled state, pressing screw2 triggers specific outcomes.)</mark>*

<div><figure><img src="/files/pxfI8WHdifUcFoLQvriV" alt=""><figcaption></figcaption></figure> <figure><img src="/files/NhF2RvTAjnkp44n1Yk83" alt="" width="224"><figcaption></figcaption></figure></div>

3）Add the following response events:

* Assign the value: Set screw2=2
* Display screw 2 and hide screw cap 2.
* Hide operation guide 1, display operation guide 2, and play click sound feedback.

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

4）Add <mark style="background-color:red;">**Condition 2**</mark>: "screw2=2"\
\&#xNAN;*<mark style="background-color:yellow;">(This corresponds to: When screw2 is in a pulled state, pressing screw2 triggers specific outcomes.)</mark>*

5）Add the following response events:

* Assign the value: Set screw2=1
* Display screw cap 2 and hide screw 2.

<div><figure><img src="/files/USKJatWmGrHnUd1rWJkT" alt=""><figcaption></figcaption></figure> <figure><img src="/files/fhmtCLcSGX7le4JUizcp" alt=""><figcaption></figcaption></figure></div>

🌟 From the above two Conditions, it is clear that these two cases represent feedback for Screw 2 being pulled out and Screw 2 being pressed back into its original position. This is the main distinction between Holes 2/4/5/6 and Holes 1/3. The subsequent Conditions (3-8) are similar to those for Holes 1/3.

6）<mark style="background-color:red;">**Conditions 3 to 5**</mark>

Take Condition 3 as an example.  Condition: "screw2=0" AND "screw4=2"\
\&#xNAN;*<mark style="background-color:yellow;">(This corresponds to: When Screw 4 is pulled out and placed into the empty Hole 2, the following results are triggered.)</mark>*

<div><figure><img src="/files/5DUdaaNtH0i7tlY9qutJ" alt=""><figcaption></figcaption></figure> <figure><img src="/files/pDg96h0SnGH5DBHozljn" alt="" width="233"><figcaption></figcaption></figure></div>

Add response events:

* Assign the value: Set screw2=1, screw4=0.
* Display Screw Cap 2 and hide Screw 4.
* Assign the value: Set lock4=true.
* Play related particle effects and sound feedback.
* Disable events: Disable the press event for Layer 2 *<mark style="background-color:yellow;">(once a screw is moved, it can only be pressed once and cannot be pulled out again. All subsequent "Disable events" follow this logic).</mark>*

<div><figure><img src="/files/asPY9LwrKCHm4PXcOqzo" alt=""><figcaption></figcaption></figure> <figure><img src="/files/fTai7nqywmKlDRhcA74C" alt=""><figcaption></figcaption></figure> <figure><img src="/files/aRy8C4NBS7Q1Zf1yRnEm" alt=""><figcaption></figcaption></figure></div>

7）<mark style="background-color:red;">**Conditions 6 to 8**</mark>

Take Condition 6 as an example. Condition: "screw2=1" AND "screw4=2"\
\&#xNAN;*<mark style="background-color:yellow;">(This corresponds to: When Screw 4 is pulled out and placed into a non-empty Hole 2, the following results are triggered.)</mark>*

<div><figure><img src="/files/yHHIo3PbexjSim23MFrL" alt=""><figcaption></figcaption></figure> <figure><img src="/files/7XEwQuJllWDYwt321ROl" alt="" width="223"><figcaption></figcaption></figure></div>

Add response events:

* Assign the value: Set screw2=2, screw4=1.
* Display Screw 2 and hide Screw Cap 2.
* Display Screw Cap 4 and hide Screw 4.

<div><figure><img src="/files/3tInqMUzJIY3qR9yPmTy" alt=""><figcaption></figcaption></figure> <figure><img src="/files/YFsl4Q2uUgtRAgpBWGJL" alt=""><figcaption></figcaption></figure> <figure><img src="/files/xaklmWTzvtMY35me4oxp" alt=""><figcaption></figcaption></figure></div>

🌟With this, all "Press" events for the holes are completed. **If you want to create playables for different levels later, you can follow the same logic:**

* Holes 1/3:\
  Initial state: "The hole is empty."\
  Required Conditions: 4, corresponding to each screw (2/4/5/6) being placed into the hole (if the level includes 6 screws, 6 Conditions need to be set).
* Holes 2/4/5/6:\
  Initial state: "The screw is pressed."\
  Required Conditions: 8, where: 2 are for the screw being pulled out/pressed back into its original position. 3 are for the screw being placed into other empty holes. 3 are for the screw being placed into other non-empty holes. (If the level includes 6 screws, a total of 2 + 5 + 5 = 12 Conditions need to be set.)

Next, we will use Scene Conditions to implement subsequent animation effects.

#### <mark style="color:red;">4.Add Conditions and Response Events to "Scene 1"</mark>

Select Scene 1 - Add Event - Condition

<mark style="background-color:red;">**4.1 Conditions 1-4 & 13 (Vertical Wooden Plank Related)**</mark>

1）Edit Condition 1: "lock2=true" AND "lock4=false" AND "lock6=false" AND "wooddrop\_V=true"   *<mark style="background-color:yellow;">(Corresponds to: When Hole 2 is unlocked, Holes 4 and 6 are locked, and the vertical wooden plank is still in the scene, the following results are triggered.)</mark>*

Add Response Events:

* Play the Spin Easing animation of the vertical wooden plank rotating to the left; execute a delay of 0.2 seconds, then pause the animation.  *(These two response events create the effect of the vertical wooden plank rotating counterclockwise and being blocked by Screw 4.)*
* Assign the value: Set V\_path=R (Right) *(indicating the vertical wooden plank's direction is now set to "Right").*
* Play a wooden plank collision sound once.

<div><figure><img src="/files/wjKcr0Ruqe7fyIMLy6v9" alt=""><figcaption></figcaption></figure> <figure><img src="/files/8pBd2B9oNgJks3mcOmH7" alt=""><figcaption></figcaption></figure></div>

2）Edit Condition 2: "lock2=true" AND "lock4=false" AND "lock6=true" AND "wooddrop\_V=true" AND "V\_path=R"  *<mark style="background-color:yellow;">(Corresponds to: When Hole 2 is unlocked, Hole 4 is locked, the vertical wooden plank's direction is "Right," the plank is still in the scene, and Hole 6 is unlocked, the following results are triggered.)</mark>*

Add Response Events:

* Play the Displacement Easing animation of the vertical wooden plank falling downward and to the right, along with a Spin Easing animation.
* Assign the value: Set wooddrop\_V=false *(indicating the vertical wooden plank has completely fallen and is no longer in the scene).*
* Play a wooden plank falling sound once.

<div><figure><img src="/files/ogfEs8a4m8GZ3znhMOv7" alt=""><figcaption></figcaption></figure> <figure><img src="/files/L8Dbn4ulxF1FjlrsMbos" alt=""><figcaption></figcaption></figure></div>

3）Edit Condition 3: "lock2=true" AND "lock6=true" AND "wooddrop\_V=true"  *<mark style="background-color:yellow;">(Corresponds to: When Hole 6 is unlocked, the vertical wooden plank is still in the scene, and Hole 2 is unlocked, the following results are triggered.)</mark>*

Add Response Events:

* Play the Displacement Easing animation of the vertical wooden plank falling straight downward.
* Assign the value: Set wooddrop\_V=false.
* Play a wooden plank falling sound once.

<div><figure><img src="/files/9i2DHV73SZLeIzGT3eiU" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Hx8ZQDM1wuCCa5Sk5vk8" alt=""><figcaption></figcaption></figure></div>

4）Edit Condition 4: "lock2=true" AND "lock4=true" AND "lock6=false" AND "wooddrop\_V=true"  *<mark style="background-color:yellow;">(Corresponds to: When Hole 4 is unlocked, Hole 6 is locked, the vertical wooden plank is still in the scene, and Hole 2 is unlocked, the following results are triggered.)</mark>*

Add Response Events:

* Cancel execution delay: Select and cancel the timer from Condition 1 that pauses the rotation animation after 0.2 seconds.
* Continue playing the remaining left-rotation animation for the vertical wooden plank.

<div><figure><img src="/files/oL98nf4Qyu22jDlxTlgH" alt=""><figcaption></figcaption></figure> <figure><img src="/files/nITUtdAtETe9kHUp7ZyA" alt=""><figcaption></figcaption></figure></div>

5）Edit Condition 13: Condition: "lock2=false" AND "lock6=true" AND "wooddrop\_V=true" *<mark style="background-color:yellow;">(Corresponds to: When Hole 2 is locked, the vertical wooden plank is still in the scene, and Hole 6 is unlocked, the following results are triggered.)</mark>*

Add Response Events:

* Play a slight Spin Easing animation of the vertical wooden plank rotating to the right.

<div><figure><img src="/files/WtNGyOmC6FLQR74sIbt4" alt=""><figcaption></figcaption></figure> <figure><img src="/files/UPDrCn9CNa59xqrdU7Pe" alt=""><figcaption></figcaption></figure></div>

<mark style="background-color:red;">**4.2 Conditions 5-11 (Horizontal Wooden Plank Related)**</mark>

1）Edit Condition 5: "lock4=true" AND "lock5=false" AND "lock6=false" AND "wooddrop\_H=true" *<mark style="background-color:yellow;">(Corresponds to: When Hole 4 is unlocked, Holes 5 and 6 are locked, and the horizontal wooden plank is still in the scene, the following results are triggered.)</mark>*

Add Response Events:

* Play the Spin Easing animation of the horizontal wooden plank rotating to the bottom-right; execute a delay of 0.2 seconds, then pause the animation.\
  (These two response events create the effect of the horizontal wooden plank rotating counterclockwise and being blocked by Screw 6.)
* Assign the value: Set H\_path=L (Left) (indicating the horizontal wooden plank's direction is now set to "Left").
* Play a wooden plank collision sound once.

<div><figure><img src="/files/xHy82gKx34VVyDW7gWGo" alt=""><figcaption></figcaption></figure> <figure><img src="/files/UxQqqUQZ0tZqE5wpH0rA" alt=""><figcaption></figcaption></figure></div>

2）Edit Condition 6: "lock4=true" AND "lock5=false" AND "lock6=true" AND "wooddrop\_H=true" *<mark style="background-color:yellow;">(Corresponds to: When Hole 6 is unlocked, Hole 5 is locked, the horizontal wooden plank is still in the scene, and Hole 4 is unlocked, the following results are triggered.)</mark>*

Add Response Events:

* Cancel execution delay: Select and cancel the timer from Condition 5 that pauses the spin animation after 0.2 seconds.
* Play the Spin Easing animation of the horizontal wooden plank rotating to the bottom-right.

<div><figure><img src="/files/rngj2NNVHLidy0yMUwAn" alt=""><figcaption></figcaption></figure> <figure><img src="/files/YtR9S3uXfuvQguZzkw6u" alt=""><figcaption></figcaption></figure></div>

3）Edit Condition 7: "lock4=true" AND "lock5=true" AND "lock6=false" AND "wooddrop\_H=true" AND "H\_path=L"  *<mark style="background-color:yellow;">(Corresponds to: When Hole 4 is unlocked, Hole 6 is locked, the horizontal wooden plank's direction is "Left," the plank is still in the scene, and Hole 5 is unlocked, the following results are triggered.)</mark>*

Add Response Events:

* Play the Displacement Easing animation of the horizontal wooden plank falling down and to the left.
* Play the Spin Easing animation of the horizontal wooden plank.\
  (These response events create the effect of the horizontal wooden plank moving and falling to the bottom-left, out of the scene.)
* Assign the value: Set wooddrop\_H=false (indicating the horizontal wooden plank has completely fallen and is no longer in the scene).
* Play a wooden plank falling sound once.

<div><figure><img src="/files/gsIJgihaRpCndYKTiDBd" alt=""><figcaption></figcaption></figure> <figure><img src="/files/HkI8n3tH6cPV6qrD6J1d" alt=""><figcaption></figcaption></figure></div>

4）Edit Condition 8: "lock4=true" AND "lock5=true" AND "lock6=true" AND "wooddrop\_H=true" *<mark style="background-color:yellow;">(Corresponds to: When Hole 6 is unlocked, the horizontal wooden plank is still in the scene, and Hole 4 or Hole 5 is unlocked, the following results are triggered. Both scenarios use the same displacement animation, where the plank falls vertically downward.)</mark>*

Add Response Events:

* Play the Displacement Easing animation of the horizontal wooden plank falling straight downward.
* Assign the value: Set wooddrop\_H=false.
* Play a wooden plank falling sound once.

<div><figure><img src="/files/soTXoEfGPuA6PqLfNI8M" alt=""><figcaption></figcaption></figure> <figure><img src="/files/xfnsNbBrm5jG1vLBIli2" alt=""><figcaption></figcaption></figure> <figure><img src="/files/wqqBMxGgjMxeGMFJ1bwA" alt=""><figcaption></figcaption></figure></div>

5）Edit Condition 9: "lock4=false" AND "lock5=true" AND "lock6=false" AND "wooddrop\_H=true" *<mark style="background-color:yellow;">(Corresponding: When hole 4 and hole 6 are locked, the horizontal plank is still on the screen, and unlocking hole 5 will trigger what result)</mark>*

Add response events:

* Play the Spin Easing animation for the horizontal plank to rotate towards the lower left; pause the animation after a 0.2s delay *(These two response events achieve the effect: The horizontal plank rotates clockwise by a certain angle and is then blocked by screw 6).*
* Assign the value: assign H\_path=R(Right).
* Play the sound effect of the plank hitting once.

<div><figure><img src="/files/HUNVCvkqtlAV1l12NuVI" alt=""><figcaption></figcaption></figure> <figure><img src="/files/wzsHyJR7rgwyzrxSQcw5" alt=""><figcaption></figcaption></figure></div>

6）Edit Condition 10: "lock4=false" AND "lock5=false" AND "lock6=true" AND "wooddrop\_H=true"*<mark style="background-color:yellow;">(Corresponding: When hole 6 is unlocked, hole 4 is locked, the horizontal plank is still on the screen, and unlocking hole 5 will trigger what result)</mark>*

Add response events:

* Cancel Execution Delay: choose to cancel Timer 2 under Condition 9, which cancels the event that pauses the spin animation after 0.2s.
* Continue playing the Spin Easing animation for the horizontal plank to rotate towards the lower left.

<div><figure><img src="/files/CTIyDmAaJRRBemNGXsSr" alt=""><figcaption></figcaption></figure> <figure><img src="/files/s9zSzEvJYdsoAEamICh0" alt=""><figcaption></figcaption></figure></div>

7\) Edit Condition 11: "lock4=true" AND "lock5=true" AND "lock6=false" AND "wooddrop\_H=true" AND "H\_path=R" *<mark style="background-color:yellow;">(Corresponding: When hole 5 is unlocked, hole 6 is locked, the horizontal plank is moving to the right, the horizontal plank is still on the screen, and unlocking hole 4 will trigger what result)</mark>*

Add response events:

* Play the Displacement Easing and Spin Easing animations for the horizontal plank to fall downwards and to the right *(These three response events achieve the effect: The horizontal plank moves downward and to the right, falling off the screen).*
* Assign the value: assign wooddrop\_H=false.
* Play the sound effect of the plank falling once.

<div><figure><img src="/files/AUSlhkSYrNwe8lg6nIZr" alt=""><figcaption></figcaption></figure> <figure><img src="/files/OaFE6RI2Qx3THy39G0wN" alt=""><figcaption></figcaption></figure></div>

With that, all the possible animation scenarios for both the horizontal and vertical planks have been set.

<mark style="background-color:red;">**4.3 Condition 12 (Victory Determination)**</mark>

Edit Condition 12: "lock2=true" AND "lock4=true" AND "lock5=true" AND "lock6=true" *<mark style="background-color:yellow;">(Corresponding: All four screw holes are unlocked)</mark>*

Add response events:

* Play particle effects and victory sound feedback.
* After a 1-second delay, play the fade-out animation for the operation guide.
* After a 0.2-second delay, redirect to the next scene (end page).

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

#### 5.Redirect **Event for End Scene**

* Select Scene 2, and Add Event - Press.
* Add response events: Set Tracking Event; Redirect to app store.

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

These are all the events used in this case. With the completion of all event settings, our material is completed.

#### &#x20;<a href="#q96z9" id="q96z9"></a>

### Step 5 - Overall Preview <a href="#q96z9" id="q96z9"></a>

1）It is advisable to preview your work promptly after completing each step in the creation process to check if the settings are correct.

2）If multilingual translation is required, it can be added/modified under Global Settings - Default Language.

3）After the entire production is completed, repeatedly switch and preview across different  devices/languages/landscape and portrait modes  to ensure everything is working correctly.

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


---

# 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.com/playturbo-case-study/playable-content-editor/other-puzzle-gameplay-cases/less-than-screw-puzzle-greater-than-blank-canvas-tutorial.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.
