# 2D Playable\<Drag and Drop to the Specified Position>Tutorial

Please note: The basic template "Drag and Drop to the Specified Position" was created following this tutorial!

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

* \[Difficulty]:⭐
* &#x20;\[Applicable Products]:Universal
* &#x20;\[Interaction]: Drag and Drop
* \[Number of Interactions]: 2-Step Rediect
* \[Threads]: Single-threaded
* \[Core Assets]: Static image
* \[Features]: Animation - Universal, Animation - Fadeln,Event - Drag and drop to the specified location,Event - Drag.

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

| Best experience for playable on mobile devices                      | Vertical screen                                                     | Horizontal screen                                                   |
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| <img src="/files/mAKjVYNmH6VoqrnoPbj0" alt="" data-size="original"> | <img src="/files/2mCiGy41uuZchYs75mFM" alt="" data-size="original"> | <img src="/files/LDlVMU8NdMdYhK7jA1oQ" alt="" data-size="original"> |
| Scan to play                                                        | [Click to play](https://tinyurl.com/ysvzvajf)                       | [Click to play](https://tinyurl.com/ysvzvajf)                       |

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

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

* Enter the trial, displaying the \[Puzzle Outline] and \[Two Fragment Buttons].&#x20;
* Display the \[First Operation Guide], prompting players to drag Fragment A to the designated area of the puzzle outline.&#x20;
* When the player drags Fragment A to the specified area, trigger the \[Success Feedback].&#x20;
* Display the \[Second Operation Guide], prompting players to drag Fragment B to the designated area of the puzzle outline.&#x20;
* When the player drags Fragment B and releases it, redirect to the app store.

## <mark style="color:blue;">4.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 overview in Part Three, we determine that only one scene is needed for this case.

<table><thead><tr><th width="208">Scene Name</th><th>Scene 1-Inducing Drag and Drop</th></tr></thead><tbody><tr><td><strong>Visual Rendering</strong></td><td><img src="/files/2mCiGy41uuZchYs75mFM" alt="" data-size="original"></td></tr><tr><td><strong>Scene Description</strong></td><td>Display the gray background image and two puzzle fragments, guiding player to drag and complete the puzzle.</td></tr><tr><td><strong>Animation</strong></td><td><p>[Guide Text]: Scale Easing</p><p>[Operation Guide]:Spin Easing + Displacement Easing + Alpha Easing</p><p>[Fragment]:Scale Easing + Fadeln</p></td></tr><tr><td><strong>Core Events</strong></td><td><p>Trigger Object: Layer - Fragment A</p><p>Trigger Event: Drag and drop to the specified location</p><p>Response Events: Hide layers;Enable events;Disable events</p></td></tr><tr><td><strong>Asset List</strong></td><td><p>[Audio]: Background music, sound effects (click on sound effects/successfully place sound effects)</p><p>[Images]:Background image, gray background image of the puzzle, puzzle fragments, drag and drop version of the puzzle fragments, guide finger, logo, CTA button</p><p>[Text]: Guide text, product name, download text, disclaimer</p><p>[Particles]</p></td></tr></tbody></table>

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

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

#### **ⅰ. Global Settings**

Add background music and background image in the "Global Settings" section.

<figure><img src="/files/5Fa8LBhzskaKF4VvM6J1" alt=""><figcaption></figcaption></figure>

#### **ⅱ. Global Scene**

1）Add persistent information in the "Global Scene": logo,product name, CTA button.

2）Adjust the position and size of each asset accordingly.

3）Group, arrange, and name the assets based on their types.

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

#### **ⅲ. Scene 1**

1\) Add sound effects, a gray background image for the puzzle, puzzle fragments, draggable versions of the puzzle fragments, guide finger, guide text, and particles to "Scene 1".

2\) Adjust the position and size of each asset as necessary.

3\) Group, arrange, and name the assets based on their types.

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

### Step 2 - Animation Production <a href="#dcm38" id="dcm38"></a>

#### **ⅰ.** First Operation Guide

1）Select the image of Fragment A silhouette "cat\_A\_silhouette" on the left side of the layer panel and add the animation - Universal - Scale Easing.

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

2）Select the hand group "group\_hand" and add the animation - Universal - Spin Easing. Set the parameters as follows:

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

3）Select the whole group "cat\_A\_guide" and add the animation - Universal - Displacement Easing\&Alpha Easing. Set the parameters as follows:

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

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

Note: The second operation guide is similar to the first operation guide and can be quickly completed by \[copying/pasting the animations].

#### **ⅱ.** Fragment A pressed/released

As per the template, when Fragment A is pressed, it should enlarge, and when Fragment A is released without being placed in the correct position, it should shrink. Therefore, we need to set up two Scale Easing animations for Fragment A.

1）Select the fragment A option image"cat\_A\_Options" and add the animation - Universal - Scale Easing.Set the parameters as follows:

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

2）Continue to add the animation - Universal - Scale Easing.Set the parameters as follows:

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

#### **ⅲ.** Fragment A correctly placed

Select the correctly placed puzzle fragment A "cat\_A" , add animation - Approach - Fadeln. Set the parameters as follows:

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

### Step 3 - Logic Settings <a href="#lnpxj" id="lnpxj"></a>

#### **ⅰ. Layer Events -** Fragment A

We need to add three trigger events for Fragment A: when the fragment is pressed, when the fragment is not placed in the correct position, and when the fragment is successfully placed in the correct position. The corresponding trigger events are "Press", "Lift up", and "Drag and drop to the specified location".

<mark style="background-color:orange;">**Press**</mark>

1\) Select the layer for fragment A “cat\_A\_Options” and add event - press.

2\) Add response events - Play click sound; Play a single animation of fragment A.

3\) Add response events - Hide guide-related layers and Pause all  related animations.

4）Other response events: Set postback event information; cancel execution delay.（Explain in the 'Lift up' event）

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

<mark style="background-color:orange;">**Lift up**</mark>

1）Select the layer for fragment A “cat\_A\_Options” and add event - Lift up.

2）Add response events - Play a single animation of fragment A.

3）Add response events - Execution delay of 0.2s；Show layers about operation instructions and play related animations.

*（Since we have set a timer to show the operation guide again when the fragment is Lifted up, we need to cancel that timer in the response event for "Press". Otherwise, the operation guide will appear while we are pressing the fragment.）*

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

<mark style="background-color:orange;">**Drag and drop to the specified location**</mark>

1）Select the layer for fragment A “cat\_A\_Options” and add event - Drag and drop to the specified location.

2）Click on 'Edit the drag area', adjust the area to the appropriate size and save it, and select the drag direction as' Any Direction '.

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

3）Add response events - Disable events“Lift up”；Disable events“Press”.

4）Add response events - Hide layers“cat\_A\_Options”；Hide layers“cat\_B\_Mask” and play a single animation“cat\_B\_Options”.

5）Add response events - Play Fadeln animation for “Fragment A correctly placed”；Play related sound effects and particles.

6）Add response events - Execution delay of 0.2s，Show layers “the second operation guide” group；Enable events “cat\_B\_Options Drag”.

7）Other response events: Set postback event information.

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

#### **ⅱ. Layer Events -** Fragment B

<mark style="background-color:orange;">**Drag**</mark>

1\) Select the layer for fragment B “cat\_B\_Options” and add event - drag.Select the drag direction as \[any direction].

2\) Add response events - Play click sound；Play a single animation of fragment B；Hide guide-related layers.

3\) Other response events: Set postback event information.

<figure><img src="/files/1wqij710D3JEZ1Z5Wzt5" alt=""><figcaption></figcaption></figure>

<mark style="background-color:orange;">**Lift up**</mark>

1）Select the layer for fragment B “cat\_B\_Options” and add event - Lift up.

2）Add response events - Hide layers“cat\_B\_Options”；Hide layers about the second operation guide；Play a single animation of “fragment B”.

3）Add response events - Execution delay of 0.2s，Redisplay Layer fragment B；Show guide-related layers.

4）Other response events: Redirect to app store；Set postback event information；Report the end of the playable ads.

<figure><img src="/files/7IrBAHCDqkmS6geZBNwq" alt=""><figcaption></figcaption></figure>

#### **ⅲ. Layer Events -** **CTA Button**

Select the CTA button group, add event - Press, and add the response event - Redirect to app store.

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

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

#### <mark style="color:red;">**ⅰ. Landscape Layout**</mark>

After completing the vertical layout for each scene, it is recommended to perform landscape layout (using the "Reuse Vertical Position and Size Configuration" button frequently).

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

#### <mark style="color:red;">**ⅱ. Screen Adaptation**</mark>

Perform screen adaptation for various device models and their orientations (portrait and landscape), and preview to check if the adaptation is appropriate.

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

#### **ⅲ. Overall Preview**

After completing the entire production, you can perform an overall preview for different device models, languages, and orientations (portrait and landscape).

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

## <mark style="color:blue;">6.Assets Provision</mark>

At the end of the tutorial, we have **provided all the assets used in this case** for you. Click on the compressed file to download it.&#x20;

You can use these assets to follow the tutorial and try creating your own content, enabling you to get familiar with using the Content editor more quickly.

{% file src="/files/PexoabcJ8hzUm8MAQla9" %}


---

# 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/general-gameplay-cases/simple-tutorial-blank-canvas-tutorial/2d-playable-less-than-drag-and-drop-to-the-specified-position-greater-than-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.
