← All examples

Build the picture

The sun and the cloud go in the sky; the house, the tree, the flower and the duck on the meadow. The meadow lies over the sky on a higher layer (when an element is dropped on both, the higher layer wins), and a dragged element jumps to the top (bring-to-top).

Schema
v2.0
Required features
element.imageelement.textelement.componentelement.targetvisual.textcomponent.draggabletarget.capacitytarget.snaprule.placeaction.play-soundaction.returnaction.emit-particlesaction.bring-to-top
Components
imagetexttargetcomponent

How to open it in the editor

  1. Click Open in the editor — GS Editor opens with the exercise loaded (scene and assets).
  2. Or click Download the exercise (a ZIP with projekt.json, images/ and sounds/) and choose Open ZIP in the start window of the editor.

Exercise file

Show the JSON (9,356 characters)
{
  "schema": "2.0",
  "requires": [
    "element.image",
    "element.text",
    "element.component",
    "element.target",
    "visual.text",
    "component.draggable",
    "target.capacity",
    "target.snap",
    "rule.place",
    "action.play-sound",
    "action.return",
    "action.emit-particles",
    "action.bring-to-top"
  ],
  "id": "scene-layers",
  "size": {
    "width": 1200,
    "height": 675
  },
  "languages": [
    "pl",
    "en"
  ],
  "defaultLanguage": "pl",
  "assets": [
    {
      "id": "meadow",
      "kind": "image",
      "src": {
        "default": "images/meadow.png"
      }
    },
    {
      "id": "tile",
      "kind": "image",
      "src": {
        "default": "images/tile.png"
      }
    },
    {
      "id": "sun",
      "kind": "image",
      "src": {
        "default": "images/sun.png"
      }
    },
    {
      "id": "cloud",
      "kind": "image",
      "src": {
        "default": "images/cloud.png"
      }
    },
    {
      "id": "house",
      "kind": "image",
      "src": {
        "default": "images/house.png"
      }
    },
    {
      "id": "tree",
      "kind": "image",
      "src": {
        "default": "images/tree.png"
      }
    },
    {
      "id": "flower",
      "kind": "image",
      "src": {
        "default": "images/flower.png"
      }
    },
    {
      "id": "duck",
      "kind": "image",
      "src": {
        "default": "images/duck.png"
      }
    },
    {
      "id": "correct",
      "kind": "audio",
      "src": {
        "default": "sounds/correct.wav"
      }
    },
    {
      "id": "wrong",
      "kind": "audio",
      "src": {
        "default": "sounds/wrong.wav"
      }
    },
    {
      "id": "pick-up",
      "kind": "audio",
      "src": {
        "default": "sounds/pick-up.wav"
      }
    },
    {
      "id": "drop",
      "kind": "audio",
      "src": {
        "default": "sounds/drop.wav"
      }
    },
    {
      "id": "win",
      "kind": "audio",
      "src": {
        "default": "sounds/win.wav"
      }
    }
  ],
  "elements": [
    {
      "id": "background",
      "type": "image",
      "rect": [
        0,
        0,
        1200,
        675
      ],
      "layer": 0,
      "visual": {
        "type": "image",
        "asset": "meadow"
      }
    },
    {
      "id": "instruction",
      "type": "text",
      "rect": [
        40,
        24,
        820,
        80
      ],
      "layer": 20,
      "visual": {
        "type": "text",
        "text": {
          "pl": "Ułóż obrazek: słońce i chmurkę do <b>nieba</b>, resztę na <b>łąkę</b>. Przeciągany element wskakuje na wierzch.",
          "en": "Build the picture: the sun and the cloud go in the <b>sky</b>, the rest on the <b>meadow</b>. A dragged item jumps to the top."
        },
        "size": 26,
        "color": "#5a3a22",
        "align": "center"
      }
    },
    {
      "id": "panel",
      "type": "image",
      "rect": [
        890,
        170,
        280,
        420
      ],
      "layer": 1,
      "visual": {
        "type": "image",
        "asset": "tile"
      }
    },
    {
      "id": "sky",
      "type": "target",
      "rect": [
        20,
        100,
        840,
        555
      ],
      "layer": 1,
      "capacity": "many",
      "snap": {
        "mode": "none"
      },
      "on": {
        "correct": [
          {
            "do": "play-sound",
            "asset": "correct"
          },
          {
            "do": "emit-particles",
            "target": "dropped"
          }
        ],
        "wrong": [
          {
            "do": "play-sound",
            "asset": "wrong"
          },
          {
            "do": "return",
            "target": "dropped"
          }
        ]
      }
    },
    {
      "id": "grass",
      "type": "target",
      "rect": [
        20,
        450,
        840,
        205
      ],
      "layer": 2,
      "capacity": "many",
      "snap": {
        "mode": "none"
      },
      "on": {
        "correct": [
          {
            "do": "play-sound",
            "asset": "correct"
          },
          {
            "do": "emit-particles",
            "target": "dropped"
          }
        ],
        "wrong": [
          {
            "do": "play-sound",
            "asset": "wrong"
          },
          {
            "do": "return",
            "target": "dropped"
          }
        ]
      }
    },
    {
      "id": "sun",
      "type": "component",
      "rect": [
        910,
        190,
        110,
        110
      ],
      "layer": 2,
      "visual": {
        "type": "image",
        "asset": "sun"
      },
      "draggable": {
        "bounds": "scene",
        "hit": "pixels"
      },
      "on": {
        "drag-start": [
          {
            "do": "bring-to-top",
            "target": "self"
          },
          {
            "do": "play-sound",
            "asset": "pick-up"
          }
        ],
        "drop-outside": [
          {
            "do": "play-sound",
            "asset": "drop"
          },
          {
            "do": "return",
            "target": "self"
          }
        ]
      }
    },
    {
      "id": "cloud",
      "type": "component",
      "rect": [
        1035,
        205,
        120,
        76
      ],
      "layer": 3,
      "visual": {
        "type": "image",
        "asset": "cloud"
      },
      "draggable": {
        "bounds": "scene",
        "hit": "pixels"
      },
      "on": {
        "drag-start": [
          {
            "do": "bring-to-top",
            "target": "self"
          },
          {
            "do": "play-sound",
            "asset": "pick-up"
          }
        ],
        "drop-outside": [
          {
            "do": "play-sound",
            "asset": "drop"
          },
          {
            "do": "return",
            "target": "self"
          }
        ]
      }
    },
    {
      "id": "house",
      "type": "component",
      "rect": [
        910,
        320,
        110,
        110
      ],
      "layer": 4,
      "visual": {
        "type": "image",
        "asset": "house"
      },
      "draggable": {
        "bounds": "scene",
        "hit": "pixels"
      },
      "on": {
        "drag-start": [
          {
            "do": "bring-to-top",
            "target": "self"
          },
          {
            "do": "play-sound",
            "asset": "pick-up"
          }
        ],
        "drop-outside": [
          {
            "do": "play-sound",
            "asset": "drop"
          },
          {
            "do": "return",
            "target": "self"
          }
        ]
      }
    },
    {
      "id": "tree",
      "type": "component",
      "rect": [
        1045,
        312,
        100,
        122
      ],
      "layer": 5,
      "visual": {
        "type": "image",
        "asset": "tree"
      },
      "draggable": {
        "bounds": "scene",
        "hit": "pixels"
      },
      "on": {
        "drag-start": [
          {
            "do": "bring-to-top",
            "target": "self"
          },
          {
            "do": "play-sound",
            "asset": "pick-up"
          }
        ],
        "drop-outside": [
          {
            "do": "play-sound",
            "asset": "drop"
          },
          {
            "do": "return",
            "target": "self"
          }
        ]
      }
    },
    {
      "id": "flower",
      "type": "component",
      "rect": [
        915,
        450,
        100,
        125
      ],
      "layer": 6,
      "visual": {
        "type": "image",
        "asset": "flower"
      },
      "draggable": {
        "bounds": "scene",
        "hit": "pixels"
      },
      "on": {
        "drag-start": [
          {
            "do": "bring-to-top",
            "target": "self"
          },
          {
            "do": "play-sound",
            "asset": "pick-up"
          }
        ],
        "drop-outside": [
          {
            "do": "play-sound",
            "asset": "drop"
          },
          {
            "do": "return",
            "target": "self"
          }
        ]
      }
    },
    {
      "id": "duck",
      "type": "component",
      "rect": [
        1040,
        460,
        110,
        110
      ],
      "layer": 7,
      "visual": {
        "type": "image",
        "asset": "duck"
      },
      "draggable": {
        "bounds": "scene",
        "hit": "pixels"
      },
      "on": {
        "drag-start": [
          {
            "do": "bring-to-top",
            "target": "self"
          },
          {
            "do": "play-sound",
            "asset": "pick-up"
          }
        ],
        "drop-outside": [
          {
            "do": "play-sound",
            "asset": "drop"
          },
          {
            "do": "return",
            "target": "self"
          }
        ]
      }
    }
  ],
  "rule": {
    "kind": "place",
    "pairs": [
      {
        "components": [
          "sun",
          "cloud"
        ],
        "targets": [
          "sky"
        ]
      },
      {
        "components": [
          "house",
          "tree",
          "flower",
          "duck"
        ],
        "targets": [
          "grass"
        ]
      }
    ]
  },
  "on": {
    "completed": [
      {
        "do": "play-sound",
        "asset": "win"
      }
    ]
  }
}