From 7c72d0964f2d47703faf42409d9f7a6b1973bd61 Mon Sep 17 00:00:00 2001 From: HelperWesley <72082749+HelperWesley@users.noreply.github.com> Date: Wed, 19 Nov 2025 15:25:51 -0330 Subject: [PATCH] Updating Starter Games - More descriptive names Updating the names of objects and variables in the remaining starter projects to make them less generic. Also updating the README.md files of those starter games to better describe the mechanics and objects in the games. --- .../starting-3d-twin-stick-shooter.json | 20 +- .../starting-3d-vampire-survivor.json | 22 +- ...arting-first-person-survival-crafting.json | 2 +- examples/starting-quiz/README.md | 3 +- examples/starting-quiz/starting-quiz.json | 78 +- .../starting-rts-unit-selection/README.md | 4 +- .../starting-rts-unit-selection.json | 67 +- examples/starting-shootemup/README.md | 4 +- .../starting-shootemup.json | 52 +- examples/starting-tile-placement/README.md | 3 +- .../starting-tile-placement.json | 91 +- examples/starting-top-down-farming/README.md | 3 +- .../starting-top-down-farming.json | 50 +- examples/starting-top-down-pixel/README.md | 4 +- .../starting-top-down-pixel.json | 1792 +++++++++++------ examples/starting-top-down-rpg/README.md | 4 +- .../starting-top-down-rpg.json | 78 +- .../README.md | 5 +- .../starting-top-down-survival-crafting.json | 28 +- examples/starting-top-down/README.md | 3 +- .../starting-top-down/starting-top-down.json | 568 ++---- .../starting-twin-stick-shooter/README.md | 4 +- .../starting-twin-stick-shooter.json | 148 +- examples/starting-vampire-survivor/README.md | 5 +- .../starting-vampire-survivor.json | 204 +- 25 files changed, 1897 insertions(+), 1345 deletions(-) diff --git a/examples/starting-3d-twin-stick-shooter/starting-3d-twin-stick-shooter.json b/examples/starting-3d-twin-stick-shooter/starting-3d-twin-stick-shooter.json index d4a9f0c81..1f7b06afc 100644 --- a/examples/starting-3d-twin-stick-shooter/starting-3d-twin-stick-shooter.json +++ b/examples/starting-3d-twin-stick-shooter/starting-3d-twin-stick-shooter.json @@ -277,7 +277,7 @@ "height": 1152, "layer": "", "locked": true, - "name": "Background", + "name": "RepeatingBackground", "persistentUuid": "e2ca28c0-4b90-4b3d-8842-1ce8032de187", "width": 1920, "x": -320, @@ -516,7 +516,7 @@ }, { "assetStoreId": "", - "name": "Background", + "name": "RepeatingBackground", "type": "Scene3D::Cube3DObject", "variables": [], "effects": [], @@ -720,7 +720,7 @@ }, { "assetStoreId": "", - "name": "Bullet", + "name": "PlayerBullet", "type": "Scene3D::Model3DObject", "variables": [], "effects": [], @@ -757,13 +757,13 @@ "objectName": "Player" }, { - "objectName": "Bullet" + "objectName": "PlayerBullet" }, { "objectName": "Enemy" }, { - "objectName": "Background" + "objectName": "RepeatingBackground" }, { "objectName": "Camera" @@ -836,7 +836,7 @@ "value": "SetCenter" }, "parameters": [ - "Background", + "RepeatingBackground", "=", "CameraCenterX() - mod(CameraCenterX(), 160) + 160", "=", @@ -989,7 +989,7 @@ "FireBullet", "Player.CenterX()", "Player.CenterY()", - "Bullet", + "PlayerBullet", "Player.Angle()", "400", "300" @@ -1031,7 +1031,7 @@ "FireBullet", "Player.CenterX()", "Player.CenterY()", - "Bullet", + "PlayerBullet", "Player.Angle()", "400", "300" @@ -1059,7 +1059,7 @@ "value": "CollisionNP" }, "parameters": [ - "Bullet", + "PlayerBullet", "Enemy", "", "", @@ -1084,7 +1084,7 @@ "value": "Delete" }, "parameters": [ - "Bullet", + "PlayerBullet", "" ] } diff --git a/examples/starting-3d-vampire-survivor/starting-3d-vampire-survivor.json b/examples/starting-3d-vampire-survivor/starting-3d-vampire-survivor.json index bd1aabd54..15fe033ee 100644 --- a/examples/starting-3d-vampire-survivor/starting-3d-vampire-survivor.json +++ b/examples/starting-3d-vampire-survivor/starting-3d-vampire-survivor.json @@ -248,7 +248,7 @@ "height": 1408, "layer": "", "locked": true, - "name": "Background", + "name": "RepeatingBackground", "persistentUuid": "e2ca28c0-4b90-4b3d-8842-1ce8032de187", "width": 2048, "x": -384, @@ -401,7 +401,7 @@ }, { "assetStoreId": "", - "name": "Background", + "name": "RepeatingBackground", "type": "Scene3D::Cube3DObject", "variables": [], "effects": [], @@ -604,7 +604,7 @@ }, { "assetStoreId": "", - "name": "Bullet", + "name": "PlayerBullet", "type": "Scene3D::Model3DObject", "variables": [], "effects": [], @@ -641,13 +641,13 @@ "objectName": "Player" }, { - "objectName": "Enemy" + "objectName": "PlayerBullet" }, { - "objectName": "Bullet" + "objectName": "Enemy" }, { - "objectName": "Background" + "objectName": "RepeatingBackground" }, { "objectName": "Camera" @@ -717,7 +717,7 @@ "value": "SetCenter" }, "parameters": [ - "Background", + "RepeatingBackground", "=", "CameraCenterX() - mod(CameraCenterX(), 320) +160", "=", @@ -842,7 +842,7 @@ "FireBullet", "Player.CenterX()", "Player.CenterY()", - "Bullet", + "PlayerBullet", "Enemy.CenterX()", "Enemy.CenterY()", "300", @@ -854,7 +854,7 @@ "value": "Scene3D::Base3DBehavior::SetCenterZ" }, "parameters": [ - "Bullet", + "PlayerBullet", "Object3D", "=", "Player.Object3D::Depth() / 2" @@ -882,7 +882,7 @@ "value": "CollisionNP" }, "parameters": [ - "Bullet", + "PlayerBullet", "Enemy", "", "", @@ -907,7 +907,7 @@ "value": "Delete" }, "parameters": [ - "Bullet", + "PlayerBullet", "" ] } diff --git a/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json b/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json index a010975a8..1899cdd37 100644 --- a/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json +++ b/examples/starting-first-person-survival-crafting/starting-first-person-survival-crafting.json @@ -290,7 +290,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.4194339782759282, + "zoomFactor": 0.43357743047026026, "windowMask": false, "selectedLayer": "" }, diff --git a/examples/starting-quiz/README.md b/examples/starting-quiz/README.md index c0e3ca440..178dbaa90 100644 --- a/examples/starting-quiz/README.md +++ b/examples/starting-quiz/README.md @@ -1,4 +1,3 @@ # Quiz game -A basic quiz game showing a question on the screen with 4 buttons allowing to choose an answer. Once an answer is selected, a win/lose sound is played and the next question is displayed. Questions are stored in a scene variable. -Support for both mouse and touchscreens. \ No newline at end of file +A 2D quiz game with a question text box, four answer buttons, and an array variable that stores all questions, their possible answers, and which answer is correct. Each answer button is a text object that automatically updates to display the answer choices for the current question. When the player clicks or taps the correct answer, the game advances to the next question. The game supports both mouse and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-quiz/starting-quiz.json b/examples/starting-quiz/starting-quiz.json index 10fed93e8..1d1e51ab4 100644 --- a/examples/starting-quiz/starting-quiz.json +++ b/examples/starting-quiz/starting-quiz.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 242, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_quiz", + "name": "starting-quiz", "description": "", "author": "", "windowWidth": 1280, @@ -169,23 +169,24 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5468750000000044, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { "name": "AnswerButton", "objects": [ { - "name": "Answer1" + "name": "Answer1_Button" }, { - "name": "Answer2" + "name": "Answer2_Button" }, { - "name": "Answer3" + "name": "Answer3_Button" }, { - "name": "Answer4" + "name": "Answer4_Button" } ] } @@ -194,7 +195,7 @@ { "name": "NextQuestion", "type": "boolean", - "value": false + "value": true }, { "name": "QuestionNumber", @@ -388,7 +389,7 @@ "height": 96, "keepRatio": true, "layer": "", - "name": "Answer1", + "name": "Answer1_Button", "persistentUuid": "2c2e280b-8495-4319-bfef-6f5ace365bb3", "width": 512, "x": 96, @@ -422,7 +423,7 @@ "height": 96, "keepRatio": true, "layer": "", - "name": "Answer2", + "name": "Answer2_Button", "persistentUuid": "43b666bc-64d2-4ccf-bf4a-b7ef88b7176e", "width": 512, "x": 672, @@ -439,7 +440,7 @@ "height": 96, "keepRatio": true, "layer": "", - "name": "Answer3", + "name": "Answer3_Button", "persistentUuid": "5e273bb1-6d22-4e97-9fcc-0aa536d3e93e", "width": 512, "x": 96, @@ -456,7 +457,7 @@ "height": 96, "keepRatio": true, "layer": "", - "name": "Answer4", + "name": "Answer4_Button", "persistentUuid": "0f34b3e9-d13b-4498-aeb7-d0267ffd98a8", "width": 512, "x": 672, @@ -483,7 +484,7 @@ "assetStoreId": "", "bold": false, "italic": false, - "name": "Answer1", + "name": "Answer1_Button", "smoothed": true, "type": "TextObject::Text", "underlined": false, @@ -615,7 +616,7 @@ "assetStoreId": "", "bold": false, "italic": false, - "name": "Answer2", + "name": "Answer2_Button", "smoothed": true, "type": "TextObject::Text", "underlined": false, @@ -688,7 +689,7 @@ "assetStoreId": "", "bold": false, "italic": false, - "name": "Answer3", + "name": "Answer3_Button", "smoothed": true, "type": "TextObject::Text", "underlined": false, @@ -761,7 +762,7 @@ "assetStoreId": "", "bold": false, "italic": false, - "name": "Answer4", + "name": "Answer4_Button", "smoothed": true, "type": "TextObject::Text", "underlined": false, @@ -844,45 +845,20 @@ "objectName": "QuestionText" }, { - "objectName": "Answer1" + "objectName": "Answer1_Button" }, { - "objectName": "Answer2" + "objectName": "Answer2_Button" }, { - "objectName": "Answer3" + "objectName": "Answer3_Button" }, { - "objectName": "Answer4" + "objectName": "Answer4_Button" } ] }, "events": [ - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [ - { - "type": { - "value": "DepartScene" - }, - "parameters": [ - "" - ] - } - ], - "actions": [ - { - "type": { - "value": "SetBooleanVariable" - }, - "parameters": [ - "NextQuestion", - "True", - "" - ] - } - ] - }, { "colorB": 228, "colorG": 176, @@ -918,7 +894,7 @@ "parameters": [ "AnswerButton.ObjectName()", "!=", - "QuestionList[QuestionNumber].CorrectAnswer" + "QuestionList[QuestionNumber].CorrectAnswer + \"_Button\"" ] } ], @@ -947,7 +923,7 @@ "parameters": [ "AnswerButton.ObjectName()", "=", - "QuestionList[QuestionNumber].CorrectAnswer" + "QuestionList[QuestionNumber].CorrectAnswer + \"_Button\"" ] } ], @@ -1094,7 +1070,7 @@ "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ - "Answer1", + "Answer1_Button", "Text", "=", "QuestionList[QuestionNumber].Answer1" @@ -1105,7 +1081,7 @@ "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ - "Answer2", + "Answer2_Button", "Text", "=", "QuestionList[QuestionNumber].Answer2" @@ -1116,7 +1092,7 @@ "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ - "Answer3", + "Answer3_Button", "Text", "=", "QuestionList[QuestionNumber].Answer3" @@ -1127,7 +1103,7 @@ "value": "TextContainerCapability::TextContainerBehavior::SetValue" }, "parameters": [ - "Answer4", + "Answer4_Button", "Text", "=", "QuestionList[QuestionNumber].Answer4" diff --git a/examples/starting-rts-unit-selection/README.md b/examples/starting-rts-unit-selection/README.md index 11342f3fa..6a2344f29 100644 --- a/examples/starting-rts-unit-selection/README.md +++ b/examples/starting-rts-unit-selection/README.md @@ -1,5 +1,3 @@ # Top-down RTS (unit selection) -A 2D, top-down, simple game where the player can draw a selection around its units and then tap on the screen to move the selected units to this point (avoiding obstacles). - -Support for mouse and touch. \ No newline at end of file +A 2D angled top-down RTS-style game where the player can click to select individual units or click and drag to select multiple units. Selected units can be given a waypoint to move to, using pathfinding to navigate around impassable obstacles, like buildings. Water areas are passable but less preferred, so units will avoid them if a better path exists. Unit selection and waypoint placement can be done with either mouse or touch screen controls. \ No newline at end of file diff --git a/examples/starting-rts-unit-selection/starting-rts-unit-selection.json b/examples/starting-rts-unit-selection/starting-rts-unit-selection.json index 452d2f24d..0b531934a 100644 --- a/examples/starting-rts-unit-selection/starting-rts-unit-selection.json +++ b/examples/starting-rts-unit-selection/starting-rts-unit-selection.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 240, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-top-down", "version": "1.0.0", - "name": "starting_rtsunitselection", + "name": "starting-rts-unit-selection", "description": "", "author": "", "windowWidth": 1280, @@ -162,16 +162,11 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.6244537826600122, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], - "variables": [ - { - "name": "SceneScaling", - "type": "number", - "value": 0.75 - } - ], + "variables": [], "instances": [ { "angle": 0, @@ -331,7 +326,7 @@ "depth": 1, "height": 128, "layer": "", - "name": "Obstacle", + "name": "Building", "persistentUuid": "87464a85-1da1-42e4-97ad-4677e6b31751", "width": 64, "x": 1056, @@ -348,7 +343,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building", "persistentUuid": "28e9f490-0fc1-4b56-b2b1-76321a396069", "width": 128, "x": 960, @@ -365,7 +360,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building", "persistentUuid": "25994293-c633-4b11-a73b-372f5043be37", "width": 128, "x": 320, @@ -381,7 +376,7 @@ "depth": 1, "height": 128, "layer": "", - "name": "Obstacle", + "name": "Building", "persistentUuid": "806900d2-5abd-4ddb-ac48-5467213f9eeb", "width": 64, "x": 224, @@ -616,7 +611,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Obstacle", + "name": "Building", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -702,7 +697,7 @@ "objectName": "SelectBoxPainter" }, { - "objectName": "Obstacle" + "objectName": "Building" }, { "objectName": "Ground_Tilemap" @@ -742,9 +737,9 @@ "value": "ChangePlan" }, "parameters": [ - "Obstacle", + "Building", "=", - "Obstacle.Y()" + "Building.Y()" ] }, { @@ -807,6 +802,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Unit movement" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -882,6 +889,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Unit selection" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -916,6 +935,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Unit highlight" + }, { "type": "BuiltinCommonInstructions::ForEach", "object": "RTSUnit", diff --git a/examples/starting-shootemup/README.md b/examples/starting-shootemup/README.md index 0c00a272c..e1674927b 100644 --- a/examples/starting-shootemup/README.md +++ b/examples/starting-shootemup/README.md @@ -1,5 +1,3 @@ # Shoot 'em up -A 2D side-scrolling shoot ’em up where the player can move around the screen while automatically firing bullets. Enemies regularly appear from the opposite side, advancing toward the player and shooting back. - -Support for keyboard and mobile controls. +A 2D top-down shoot ’em up game where the player faces towards the right side of the screen and can move freely within fixed screen boundaries. The player automatically fires bullets toward the right side of the screen. Enemies scroll in from the right side of the screen and continuously move left, and fire bullets forward. Enemies take three hits to be destroyed, and the player dies if hit by an enemy bullet or collides with an enemy. Player movement can be controlled with a keyboard or mobile touch controls. diff --git a/examples/starting-shootemup/starting-shootemup.json b/examples/starting-shootemup/starting-shootemup.json index d098f31c0..d2891f70c 100644 --- a/examples/starting-shootemup/starting-shootemup.json +++ b/examples/starting-shootemup/starting-shootemup.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 243, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -206,7 +206,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 0, "x": 226, @@ -241,7 +241,7 @@ "keepRatio": true, "layer": "Background", "locked": true, - "name": "Background", + "name": "RepeatingBackground", "persistentUuid": "f454010e-3716-4d3a-9164-74c7e450b60f", "width": 1280, "x": 0, @@ -259,7 +259,7 @@ "keepRatio": true, "layer": "", "locked": true, - "name": "Obstacle", + "name": "GameBoundary", "persistentUuid": "2e6d3d52-b625-4baa-8bbc-f96bdc9cc03c", "width": 1280, "x": 0, @@ -276,7 +276,7 @@ "height": 849, "layer": "", "locked": true, - "name": "Obstacle", + "name": "GameBoundary", "persistentUuid": "38d96175-c5b6-4982-9dc4-9dfea03e670b", "width": 64, "x": 1280, @@ -294,7 +294,7 @@ "keepRatio": true, "layer": "", "locked": true, - "name": "Obstacle", + "name": "GameBoundary", "persistentUuid": "58dda8ce-b808-4823-8297-b40e76b30228", "width": 1280, "x": 0, @@ -312,7 +312,7 @@ "keepRatio": true, "layer": "", "locked": true, - "name": "Obstacle", + "name": "GameBoundary", "persistentUuid": "862577b6-1a9c-4df8-aa0e-2b97e637e944", "width": 64, "x": -64, @@ -327,7 +327,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -528,7 +528,7 @@ { "assetStoreId": "", "height": 352, - "name": "Background", + "name": "RepeatingBackground", "texture": "assets\\StartingTiledGround.png", "type": "TiledSpriteObject::TiledSprite", "width": 640, @@ -636,7 +636,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Bullet", + "name": "PlayerBullet", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -768,7 +768,7 @@ { "assetStoreId": "", "height": 64, - "name": "Obstacle", + "name": "GameBoundary", "texture": "assets\\StartingObstacle.png", "type": "TiledSpriteObject::TiledSprite", "width": 64, @@ -781,10 +781,10 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { - "objectName": "Bullet" + "objectName": "PlayerBullet" }, { "objectName": "Enemy" @@ -793,10 +793,10 @@ "objectName": "EnemyBullet" }, { - "objectName": "Background" + "objectName": "RepeatingBackground" }, { - "objectName": "Obstacle" + "objectName": "GameBoundary" }, { "folderName": "Mobile Controls", @@ -892,7 +892,7 @@ "value": "TiledSpriteObject::XOffset" }, "parameters": [ - "Background", + "RepeatingBackground", "+", "1" ] @@ -913,8 +913,8 @@ "value": "SeparateFromObjects" }, "parameters": [ - "TopDown_Character", - "Obstacle", + "Player", + "GameBoundary", "" ] } @@ -929,12 +929,12 @@ "value": "FireBullet::FireBullet::Fire" }, "parameters": [ - "TopDown_Character", + "Player", "FireBullet", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", - "Bullet", - "TopDown_Character.Angle()", + "Player.CenterX()", + "Player.CenterY()", + "PlayerBullet", + "Player.Angle()", "500", "300" ] @@ -964,7 +964,7 @@ "value": "CollisionNP" }, "parameters": [ - "Bullet", + "PlayerBullet", "Enemy", "", "", @@ -989,7 +989,7 @@ "value": "Delete" }, "parameters": [ - "Bullet", + "PlayerBullet", "" ] } @@ -1030,7 +1030,7 @@ "value": "CollisionNP" }, "parameters": [ - "TopDown_Character", + "Player", "EnemyBullet", "", "", diff --git a/examples/starting-tile-placement/README.md b/examples/starting-tile-placement/README.md index 4188bdff7..049d1cdbd 100644 --- a/examples/starting-tile-placement/README.md +++ b/examples/starting-tile-placement/README.md @@ -1,4 +1,3 @@ # Tile-based builder/strategy -A 2D, top-down, game where tiles can be selected, like in a strategy game, and placed on a grid. -Support for both mouse and touchscreens. \ No newline at end of file +A 2D game with an angled top-down view where tiles are represented by 2D sprites such as units, castle towers, and trees. Players can select the type of tile to place using UI buttons, and a placement indicator shows where the tile will be positioned. The game prevents overlapping placements and includes a ground grid to indicate valid placement locations. Tile selection and placement can be done with mouse or mobile touch controls, making it suitable for tower defense or city builder-style gameplay. \ No newline at end of file diff --git a/examples/starting-tile-placement/starting-tile-placement.json b/examples/starting-tile-placement/starting-tile-placement.json index 870508024..814d7322f 100644 --- a/examples/starting-tile-placement/starting-tile-placement.json +++ b/examples/starting-tile-placement/starting-tile-placement.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 242, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-platformer", "version": "1.0.0", - "name": "starting_tileplacement", + "name": "starting-tile-placement", "description": "", "author": "", "windowWidth": 1280, @@ -178,11 +178,12 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5468750000000044, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [ { - "name": "Units", + "name": "PlaceableTile", "objects": [ { "name": "Unit" @@ -204,7 +205,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Placement_Indicator", + "name": "TilePlacement_Indicator", "opacity": 128, "persistentUuid": "bf696ef6-4dda-4e27-a4f3-274db97dd0ca", "width": 0, @@ -221,7 +222,7 @@ "height": 0, "keepRatio": true, "layer": "UI", - "name": "Unit_Button", + "name": "TileType_Button", "persistentUuid": "c68085e2-ea50-4b1b-bb18-b8e5af9ce807", "width": 0, "x": 1152, @@ -242,7 +243,7 @@ "height": 0, "keepRatio": true, "layer": "UI", - "name": "Unit_Button", + "name": "TileType_Button", "persistentUuid": "7f84d899-b9b0-4371-a885-dd5e0bb9d3fb", "width": 0, "x": 1152, @@ -258,7 +259,7 @@ "height": 0, "keepRatio": true, "layer": "UI", - "name": "Unit_Button", + "name": "TileType_Button", "persistentUuid": "91364a9a-21e9-4931-a120-fd7db3f09407", "width": 0, "x": 1152, @@ -300,7 +301,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Placement_Indicator", + "name": "TilePlacement_Indicator", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -456,7 +457,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Unit_Button", + "name": "TileType_Button", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -852,10 +853,10 @@ "folderName": "__ROOT", "children": [ { - "objectName": "Placement_Indicator" + "objectName": "TilePlacement_Indicator" }, { - "objectName": "Unit_Button" + "objectName": "TileType_Button" }, { "objectName": "Ground_Tilemap" @@ -890,7 +891,7 @@ "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"", "" @@ -901,7 +902,7 @@ "value": "Cache" }, "parameters": [ - "Placement_Indicator" + "TilePlacement_Indicator" ] } ] @@ -914,7 +915,7 @@ "value": "ButtonStates::ButtonFSM::IsClicked" }, "parameters": [ - "Unit_Button", + "TileType_Button", "ButtonFSM", "" ] @@ -931,7 +932,7 @@ "value": "EffectCapability::EffectBehavior::IsEffectEnabled" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"" ] @@ -943,7 +944,7 @@ "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"", "" @@ -954,7 +955,7 @@ "value": "Montre" }, "parameters": [ - "Placement_Indicator", + "TilePlacement_Indicator", "" ] }, @@ -963,10 +964,10 @@ "value": "AnimatableCapability::AnimatableBehavior::SetName" }, "parameters": [ - "Placement_Indicator", + "TilePlacement_Indicator", "Animation", "=", - "Unit_Button.Animation::Name()" + "TileType_Button.Animation::Name()" ] }, { @@ -990,7 +991,7 @@ }, "parameters": [ "", - "Unit_Button" + "TileType_Button" ] } ], @@ -1000,7 +1001,7 @@ "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"", "" @@ -1017,7 +1018,7 @@ "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"", "yes" @@ -1035,7 +1036,7 @@ "value": "EffectCapability::EffectBehavior::IsEffectEnabled" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"" ] @@ -1057,7 +1058,7 @@ "value": "EffectCapability::EffectBehavior::EnableEffect" }, "parameters": [ - "Unit_Button", + "TileType_Button", "Effect", "\"Outline\"", "" @@ -1068,7 +1069,7 @@ "value": "Cache" }, "parameters": [ - "Placement_Indicator" + "TilePlacement_Indicator" ] } ] @@ -1091,11 +1092,11 @@ "value": "MettreXY" }, "parameters": [ - "Placement_Indicator", + "TilePlacement_Indicator", "=", - "CursorX() - (Placement_Indicator.Width()/2)", + "CursorX() - (TilePlacement_Indicator.Width() / 2)", "=", - "CursorY() - (Placement_Indicator.Height()/2)" + "CursorY() - (TilePlacement_Indicator.Height() / 2)" ] }, { @@ -1104,7 +1105,7 @@ }, "parameters": [ "", - "Placement_Indicator", + "TilePlacement_Indicator", "64", "64", "0", @@ -1114,6 +1115,18 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Place unit" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1131,7 +1144,7 @@ "value": "Visible" }, "parameters": [ - "Placement_Indicator" + "TilePlacement_Indicator" ] }, { @@ -1145,7 +1158,7 @@ "value": "SourisSurObjet" }, "parameters": [ - "Unit_Button", + "TileType_Button", "", "", "" @@ -1159,8 +1172,8 @@ "value": "CollisionNP" }, "parameters": [ - "Placement_Indicator", - "Units", + "TilePlacement_Indicator", + "PlaceableTile", "", "", "" @@ -1172,7 +1185,7 @@ "value": "CollisionNP" }, "parameters": [ - "Placement_Indicator", + "TilePlacement_Indicator", "Ground_Tilemap", "", "", @@ -1187,10 +1200,10 @@ }, "parameters": [ "", - "Units", - "Placement_Indicator.Animation::Name()", - "Placement_Indicator.X()", - "Placement_Indicator.Y()", + "PlaceableTile", + "TilePlacement_Indicator.Animation::Name()", + "TilePlacement_Indicator.X()", + "TilePlacement_Indicator.Y()", "" ] } diff --git a/examples/starting-top-down-farming/README.md b/examples/starting-top-down-farming/README.md index 57337fd02..f1ce4a26c 100644 --- a/examples/starting-top-down-farming/README.md +++ b/examples/starting-top-down-farming/README.md @@ -1,4 +1,3 @@ # Top-down Farming -A 2D, top-down farming game where the player can take objects, plant, and harvest crops on a grid-based field. -Supports both mouse and touch controls. \ No newline at end of file +A 2D angled top-down farming game where the player uses the Top-Down Movement behavior to move in all directions. The scene includes a ground tilemap with dirt plots where seeds can be planted, solid seed bags and buildings that the player can't pass through, vegetables/crops, and seed bags used to obtain seeds. The player can pick up objects and store them in an inventory, then place objects back onto the ground using a ground selection tool to check if that location is one where the object can be placed. Performing an action on the harvestable seed bag objects will add seeds to the inventory, and seeds can be placed on unoccupied dirt plots to start growing crops. Fully grown crops can be picked up and added to the inventory. The inventory uses UI icons to display the contents of the inventory, as well as allow the player to select which item to use and choose which slot a picked-up object will occupy. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-top-down-farming/starting-top-down-farming.json b/examples/starting-top-down-farming/starting-top-down-farming.json index bb493c3ef..78c37e9cc 100644 --- a/examples/starting-top-down-farming/starting-top-down-farming.json +++ b/examples/starting-top-down-farming/starting-top-down-farming.json @@ -361,7 +361,7 @@ "name": "Obstacle", "objects": [ { - "name": "Building" + "name": "Building_Obstacle" }, { "name": "Harvest_Seed_Carrot" @@ -396,7 +396,7 @@ "height": 64, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 64, "x": 640, @@ -435,7 +435,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick", + "name": "MoveJoystick", "persistentUuid": "b0c31bb4-0add-4dda-9367-c5136e4b118d", "width": 0, "x": 176, @@ -452,7 +452,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "e7fc2871-de6c-4977-bce2-07cc09c1b460", "width": 128, "x": 768, @@ -469,7 +469,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "c3864fba-4dd2-48ee-9093-2fd5eb3b4a69", "width": 64, "x": 928, @@ -634,7 +634,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "192e9fda-abd0-4c50-817c-f43460c5dd92", "width": 64, "x": 864, @@ -651,7 +651,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "239ae1f5-6611-4039-99bc-7754ee285241", "width": 128, "x": 512, @@ -668,7 +668,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "c8ae0d6a-82f5-458c-8bfa-91cf363c2aee", "width": 128, "x": 640, @@ -732,7 +732,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1042,7 +1042,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -1125,7 +1125,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Building", + "name": "Building_Obstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -2423,7 +2423,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { "objectName": "Ground_Tilemap" @@ -2450,7 +2450,7 @@ "objectName": "Harvest_Seed_Beet" }, { - "objectName": "Building" + "objectName": "Building_Obstacle" }, { "objectName": "InventoryIcons" @@ -2471,7 +2471,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" }, { "objectName": "ActionButton" @@ -2515,9 +2515,9 @@ "value": "ChangePlan" }, "parameters": [ - "TopDown_Character", + "Player", "=", - "TopDown_Character.Y()" + "Player.Y()" ] }, { @@ -2525,7 +2525,7 @@ "value": "SeparateFromObjects" }, "parameters": [ - "TopDown_Character", + "Player", "Obstacle", "no" ] @@ -2553,9 +2553,9 @@ "parameters": [ "Ground_SelectionBox", "=", - "TopDown_Character.CenterX() + XFromAngleAndDistance(TopDown_Character.TopDownMovement::Angle(), 64)", + "Player.CenterX() + XFromAngleAndDistance(Player.TopDownMovement::Angle(), 64)", "=", - "TopDown_Character.CenterY() + YFromAngleAndDistance(TopDown_Character.TopDownMovement::Angle(), 64)" + "Player.CenterY() + YFromAngleAndDistance(Player.TopDownMovement::Angle(), 64)" ] }, { @@ -2582,7 +2582,7 @@ "value": "BuiltinCommonInstructions::CompareNumbers" }, "parameters": [ - "DistanceBetweenPositions(CursorX(), CursorY(), TopDown_Character.CenterX(), TopDown_Character.CenterY())", + "DistanceBetweenPositions(CursorX(), CursorY(), Player.CenterX(), Player.CenterY())", "<", "200" ] @@ -2914,7 +2914,7 @@ "value": "SourisSurObjet" }, "parameters": [ - "Joystick", + "MoveJoystick", "", "", "" @@ -3366,7 +3366,7 @@ "value": "CollisionPoint" }, "parameters": [ - "Building", + "Building_Obstacle", "Ground_SelectionBox.CenterX()", "Ground_SelectionBox.CenterY()" ] @@ -3533,8 +3533,8 @@ "", "Item", "Harvestable.ResultingObject", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", + "Player.CenterX()", + "Player.CenterY()", "" ] }, @@ -4329,7 +4329,7 @@ "", "assets\\Digging.wav", "", - "50 * min((100/(DistanceBetweenPositions(TopDown_Character.CenterX(), TopDown_Character.CenterY(), Item.CenterX(), Item.CenterY()))),1)", + "50 * min((100 / (DistanceBetweenPositions(Player.CenterX(), Player.CenterY(), Item.CenterX(), Item.CenterY()))), 1)", "RandomFloatInRange(1.05,1.2)" ] }, diff --git a/examples/starting-top-down-pixel/README.md b/examples/starting-top-down-pixel/README.md index a72f771e9..c1350f7e1 100644 --- a/examples/starting-top-down-pixel/README.md +++ b/examples/starting-top-down-pixel/README.md @@ -1,5 +1,5 @@ # Top-down game (pixel-art) -A 2D, top-down, game where the player can move around on a small level with solid obstacles. -Support for both mobile controls and keyboard. +A top-down 2D game where the player uses the Top-Down Movement behavior to move in all directions. The camera follows the player smoothly as they move around the game scene. The player is prevented from overlapping or passing through obstacle objects such as walls or plants by using collision separation. The game supports both keyboard/mouse controls and mobile touch controls. + Assets and game are optimized for pixel art. \ No newline at end of file diff --git a/examples/starting-top-down-pixel/starting-top-down-pixel.json b/examples/starting-top-down-pixel/starting-top-down-pixel.json index e7f790870..cf081573e 100644 --- a/examples/starting-top-down-pixel/starting-top-down-pixel.json +++ b/examples/starting-top-down-pixel/starting-top-down-pixel.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 224, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "", "version": "1.0.0", - "name": "Top Down Game (Pixel art)", + "name": "starting-top-down-pixel", "description": "", "author": "", "windowWidth": 1280, @@ -178,7 +178,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 1.1726229638177712, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -189,7 +190,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 0, "x": 624, @@ -227,7 +228,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "1ef6f774-a666-42ab-bcc0-4ecdb8656e6a", "width": 0, "x": 896, @@ -243,7 +244,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "a95eccb9-3ddc-4f20-aeec-55dd40e9cf56", "width": 0, "x": 448, @@ -259,7 +260,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "726d874b-fb5d-4e42-82f6-c3d2ab5aefbd", "width": 0, "x": 768, @@ -276,7 +277,7 @@ "height": 64, "keepRatio": true, "layer": "", - "name": "Wall", + "name": "Wall_Obstacle", "persistentUuid": "22bf0d32-275e-4e74-b120-bfa34be62474", "width": 64, "x": 320, @@ -292,7 +293,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "6dabd131-ae06-40b2-930f-50d1e7026310", "width": 0, "x": 608, @@ -308,7 +309,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "4422fbf3-9071-4d22-97ee-f258cac25ee2", "width": 0, "x": 416, @@ -324,7 +325,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "feccce61-ac7a-40f8-925e-84ce0766fc15", "width": 0, "x": 512, @@ -340,7 +341,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "4a78f239-4eba-4792-a457-8b997763e8eb", "width": 0, "x": 640, @@ -356,7 +357,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "e8b8a032-ae32-41b2-9468-0aad5f3d0e6c", "width": 0, "x": 896, @@ -372,7 +373,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "0558feb8-600f-40b6-b474-67ea4d4a7bd2", "width": 0, "x": 896, @@ -388,7 +389,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "cb56c589-3dec-471f-9f78-46c50bc95adc", "width": 0, "x": 704, @@ -404,7 +405,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "b18f0870-688b-448d-a660-b6012462631f", "width": 0, "x": 672, @@ -420,7 +421,7 @@ "height": 0, "keepRatio": true, "layer": "MobileControls", - "name": "Joystick", + "name": "MoveJoystick", "persistentUuid": "b0c31bb4-0add-4dda-9367-c5136e4b118d", "width": 0, "x": 176, @@ -437,7 +438,7 @@ "height": 64, "keepRatio": true, "layer": "", - "name": "Wall", + "name": "Wall_Obstacle", "persistentUuid": "c7ce716c-4fa4-4a66-9ec8-e0fd2a3937c4", "width": 64, "x": 768, @@ -452,7 +453,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -584,7 +585,7 @@ { "assetStoreId": "", "height": 32, - "name": "Wall", + "name": "Wall_Obstacle", "texture": "assets\\StartingPixelWall.png", "type": "TiledSpriteObject::TiledSprite", "width": 32, @@ -595,7 +596,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Plant", + "name": "Plant_Obstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -670,8 +671,9 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -754,22 +756,22 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { "objectName": "Ground_Tilemap" }, { - "objectName": "Wall" + "objectName": "Wall_Obstacle" }, { - "objectName": "Plant" + "objectName": "Plant_Obstacle" }, { "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" } ] } @@ -783,7 +785,9 @@ "type": { "value": "DepartScene" }, - "parameters": [""] + "parameters": [ + "" + ] } ], "actions": [ @@ -791,7 +795,12 @@ "type": { "value": "ZoomCamera" }, - "parameters": ["", "2", "", ""] + "parameters": [ + "", + "2", + "", + "" + ] } ] }, @@ -803,13 +812,21 @@ "type": { "value": "SeparateFromObjects" }, - "parameters": ["TopDown_Character", "Wall", ""] + "parameters": [ + "Player", + "Wall_Obstacle", + "" + ] }, { "type": { "value": "SeparateFromObjects" }, - "parameters": ["TopDown_Character", "Plant", ""] + "parameters": [ + "Player", + "Plant_Obstacle", + "" + ] } ] } @@ -908,6 +925,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", + "gdevelopVersion": "", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "name": "SpriteMultitouchJoystick", @@ -1009,7 +1027,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1055,7 +1075,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1221,7 +1243,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["mod(round(Angle * 4 / 360), 4)"] + "parameters": [ + "mod(round(Angle * 4 / 360), 4)" + ] } ] } @@ -1254,7 +1278,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["mod(round(Angle * 8 / 360), 8)"] + "parameters": [ + "mod(round(Angle * 8 / 360), 8)" + ] } ] } @@ -1286,13 +1312,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Right\""] + "parameters": [ + "Direction", + "=", + "\"Right\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo4Way" }, - "parameters": ["", "=", "0", "Angle", ""] + "parameters": [ + "", + "=", + "0", + "Angle", + "" + ] } ], "actions": [ @@ -1300,7 +1336,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1311,13 +1349,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Down\""] + "parameters": [ + "Direction", + "=", + "\"Down\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo4Way" }, - "parameters": ["", "=", "1", "Angle", ""] + "parameters": [ + "", + "=", + "1", + "Angle", + "" + ] } ], "actions": [ @@ -1325,7 +1373,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1336,13 +1386,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Left\""] + "parameters": [ + "Direction", + "=", + "\"Left\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo4Way" }, - "parameters": ["", "=", "2", "Angle", ""] + "parameters": [ + "", + "=", + "2", + "Angle", + "" + ] } ], "actions": [ @@ -1350,7 +1410,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1361,13 +1423,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Up\""] + "parameters": [ + "Direction", + "=", + "\"Up\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo4Way" }, - "parameters": ["", "=", "3", "Angle", ""] + "parameters": [ + "", + "=", + "3", + "Angle", + "" + ] } ], "actions": [ @@ -1375,7 +1447,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1410,13 +1484,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Right\""] + "parameters": [ + "Direction", + "=", + "\"Right\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "0", "Angle", ""] + "parameters": [ + "", + "=", + "0", + "Angle", + "" + ] } ], "actions": [ @@ -1424,7 +1508,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1435,13 +1521,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"DownRight\""] + "parameters": [ + "Direction", + "=", + "\"DownRight\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "1", "Angle", ""] + "parameters": [ + "", + "=", + "1", + "Angle", + "" + ] } ], "actions": [ @@ -1449,7 +1545,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1460,13 +1558,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Down\""] + "parameters": [ + "Direction", + "=", + "\"Down\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "2", "Angle", ""] + "parameters": [ + "", + "=", + "2", + "Angle", + "" + ] } ], "actions": [ @@ -1474,7 +1582,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1485,13 +1595,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"DownLeft\""] + "parameters": [ + "Direction", + "=", + "\"DownLeft\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "3", "Angle", ""] + "parameters": [ + "", + "=", + "3", + "Angle", + "" + ] } ], "actions": [ @@ -1499,7 +1619,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1510,13 +1632,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Left\""] + "parameters": [ + "Direction", + "=", + "\"Left\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "4", "Angle", ""] + "parameters": [ + "", + "=", + "4", + "Angle", + "" + ] } ], "actions": [ @@ -1524,7 +1656,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1535,13 +1669,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"UpLeft\""] + "parameters": [ + "Direction", + "=", + "\"UpLeft\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "5", "Angle", ""] + "parameters": [ + "", + "=", + "5", + "Angle", + "" + ] } ], "actions": [ @@ -1549,7 +1693,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1560,13 +1706,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"Up\""] + "parameters": [ + "Direction", + "=", + "\"Up\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "6", "Angle", ""] + "parameters": [ + "", + "=", + "6", + "Angle", + "" + ] } ], "actions": [ @@ -1574,7 +1730,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] }, @@ -1585,13 +1743,23 @@ "type": { "value": "BuiltinCommonInstructions::CompareStrings" }, - "parameters": ["Direction", "=", "\"UpRight\""] + "parameters": [ + "Direction", + "=", + "\"UpRight\"" + ] }, { "type": { "value": "SpriteMultitouchJoystick::AngleTo8Way" }, - "parameters": ["", "=", "7", "Angle", ""] + "parameters": [ + "", + "=", + "7", + "Angle", + "" + ] } ], "actions": [ @@ -1599,7 +1767,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1671,7 +1841,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -1749,7 +1921,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -2140,7 +2314,11 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -2174,7 +2352,11 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -2207,7 +2389,9 @@ "type": { "value": "HasGameJustResumed" }, - "parameters": [""] + "parameters": [ + "" + ] } ], "actions": [ @@ -2215,7 +2399,11 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] }, @@ -2235,7 +2423,9 @@ "type": { "value": "HasAnyTouchOrMouseStarted" }, - "parameters": [""] + "parameters": [ + "" + ] } ], "actions": [ @@ -2243,7 +2433,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ], "events": [ @@ -2260,7 +2455,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { @@ -2295,7 +2495,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchIndex" }, - "parameters": ["Object", "Behavior", "+", "1"] + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] } ] } @@ -2322,7 +2527,10 @@ "type": { "value": "HasTouchEnded" }, - "parameters": ["", "TouchId"] + "parameters": [ + "", + "TouchId" + ] } ], "actions": [ @@ -2330,7 +2538,11 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::Reset" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -2353,7 +2565,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] } ], "actions": [ @@ -2457,7 +2674,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickForce" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] }, { "type": { @@ -2504,7 +2726,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["JoystickAngle"] + "parameters": [ + "JoystickAngle" + ] } ] } @@ -2543,7 +2767,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickAngle" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] }, { "type": { @@ -2674,13 +2903,24 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::JoystickForce" }, - "parameters": ["Object", "Behavior", ">", "0", ""] + "parameters": [ + "Object", + "Behavior", + ">", + "0", + "" + ] }, { "type": { "value": "SpriteMultitouchJoystick::IsAngleIn4WayDirection" }, - "parameters": ["", "JoystickAngle", "Direction", ""] + "parameters": [ + "", + "JoystickAngle", + "Direction", + "" + ] } ], "actions": [ @@ -2688,7 +2928,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -2728,13 +2970,24 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::JoystickForce" }, - "parameters": ["Object", "Behavior", ">", "0", ""] + "parameters": [ + "Object", + "Behavior", + ">", + "0", + "" + ] }, { "type": { "value": "SpriteMultitouchJoystick::IsAngleIn8WayDirection" }, - "parameters": ["", "JoystickAngle", "Direction", ""] + "parameters": [ + "", + "JoystickAngle", + "Direction", + "" + ] } ], "actions": [ @@ -2742,7 +2995,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -2782,7 +3037,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::PropertyTouchId" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] } ], "actions": [ @@ -2790,7 +3050,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -2826,13 +3088,24 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetJoystickForce" }, - "parameters": ["Object", "Behavior", "=", "0", ""] - }, - { - "type": { - "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" - }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0", + "" + ] + }, + { + "type": { + "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyTouchId" + }, + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] } @@ -2868,7 +3141,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["ControllerIdentifier"] + "parameters": [ + "ControllerIdentifier" + ] } ] } @@ -2906,7 +3181,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyControllerIdentifier" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -2942,7 +3222,9 @@ "type": { "value": "SetReturnString" }, - "parameters": ["JoystickIdentifier"] + "parameters": [ + "JoystickIdentifier" + ] } ] } @@ -2980,7 +3262,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyJoystickIdentifier" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -3016,7 +3303,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["DeadZoneRadius"] + "parameters": [ + "DeadZoneRadius" + ] } ] } @@ -3054,7 +3343,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::SetPropertyDeadZoneRadius" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -3080,18 +3374,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -3099,17 +3387,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -3117,9 +3400,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -3127,9 +3407,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -3137,9 +3414,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -3165,7 +3439,11 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::IsReleased" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -3173,13 +3451,22 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased" }, - "parameters": ["Object", "Behavior", "no"] + "parameters": [ + "Object", + "Behavior", + "no" + ] }, { "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState" }, - "parameters": ["Object", "Behavior", "\"Idle\"", ""] + "parameters": [ + "Object", + "Behavior", + "\"Idle\"", + "" + ] } ] }, @@ -3191,13 +3478,19 @@ "inverted": true, "value": "SpriteMultitouchJoystick::MultitouchButton::IsPressed" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "value": "HasAnyTouchOrMouseStarted" }, - "parameters": [""] + "parameters": [ + "" + ] } ], "actions": [ @@ -3205,7 +3498,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ], "events": [ @@ -3262,7 +3560,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchIndex" }, - "parameters": ["Object", "Behavior", "+", "1"] + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] } ] } @@ -3277,13 +3580,20 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::IsPressed" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "value": "HasTouchEnded" }, - "parameters": ["", "TouchId"] + "parameters": [ + "", + "TouchId" + ] } ], "actions": [ @@ -3291,19 +3601,33 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetButtonState" }, - "parameters": ["Object", "Behavior", "\"Released\"", ""] + "parameters": [ + "Object", + "Behavior", + "\"Released\"", + "" + ] }, { "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyIsReleased" }, - "parameters": ["Object", "Behavior", "yes"] + "parameters": [ + "Object", + "Behavior", + "yes" + ] }, { "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::SetPropertyTouchId" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] } @@ -3337,7 +3661,10 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyIsReleased" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] } ], "actions": [ @@ -3345,7 +3672,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -3379,7 +3708,12 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchButton::PropertyTouchId" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] } ], "actions": [ @@ -3387,7 +3721,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -3460,27 +3796,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -3488,9 +3815,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -3498,9 +3822,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" } @@ -3540,7 +3861,10 @@ "type": { "value": "PlatformBehavior::SimulateLeftKey" }, - "parameters": ["Object", "Property"] + "parameters": [ + "Object", + "Property" + ] } ] }, @@ -3565,7 +3889,10 @@ "type": { "value": "PlatformBehavior::SimulateRightKey" }, - "parameters": ["Object", "Property"] + "parameters": [ + "Object", + "Property" + ] } ] }, @@ -3590,13 +3917,19 @@ "type": { "value": "PlatformBehavior::SimulateUpKey" }, - "parameters": ["Object", "Property"] + "parameters": [ + "Object", + "Property" + ] }, { "type": { "value": "PlatformBehavior::SimulateLadderKey" }, - "parameters": ["Object", "Property"] + "parameters": [ + "Object", + "Property" + ] } ] }, @@ -3621,7 +3954,10 @@ "type": { "value": "PlatformBehavior::SimulateDownKey" }, - "parameters": ["Object", "Property"] + "parameters": [ + "Object", + "Property" + ] } ] }, @@ -3645,7 +3981,10 @@ "type": { "value": "PlatformBehavior::SimulateJumpKey" }, - "parameters": ["Object", "Property"] + "parameters": [ + "Object", + "Property" + ] } ] } @@ -3671,38 +4010,40 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "Property" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", - "extraInformation": ["Primary", "Secondary"], + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } + ], "name": "JoystickIdentifier" }, { "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -3727,7 +4068,12 @@ "type": { "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" }, - "parameters": ["Object", "Behavior", "=", "\"Analog\""] + "parameters": [ + "Object", + "Behavior", + "=", + "\"Analog\"" + ] } ], "actions": [ @@ -3751,7 +4097,12 @@ "type": { "value": "SpriteMultitouchJoystick::TopDownMultitouchMapper::PropertyStickMode" }, - "parameters": ["Object", "Behavior", "=", "\"360°\""] + "parameters": [ + "Object", + "Behavior", + "=", + "\"360°\"" + ] } ], "actions": [ @@ -3793,7 +4144,10 @@ "inverted": true, "value": "TopDownMovementBehavior::DiagonalsAllowed" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ], "actions": [], @@ -3819,7 +4173,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateLeftKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -3844,7 +4201,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateRightKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -3869,7 +4229,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateUpKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -3894,7 +4257,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateDownKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] } @@ -3907,7 +4273,10 @@ "type": { "value": "TopDownMovementBehavior::DiagonalsAllowed" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ], "actions": [], @@ -3933,7 +4302,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateLeftKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -3958,7 +4330,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateRightKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -3983,7 +4358,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateUpKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -4008,7 +4386,10 @@ "type": { "value": "TopDownMovementBehavior::SimulateDownKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -4033,13 +4414,19 @@ "type": { "value": "TopDownMovementBehavior::SimulateUpKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] }, { "type": { "value": "TopDownMovementBehavior::SimulateLeftKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -4064,13 +4451,19 @@ "type": { "value": "TopDownMovementBehavior::SimulateUpKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] }, { "type": { "value": "TopDownMovementBehavior::SimulateRightKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -4095,13 +4488,19 @@ "type": { "value": "TopDownMovementBehavior::SimulateDownKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] }, { "type": { "value": "TopDownMovementBehavior::SimulateLeftKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] }, @@ -4126,13 +4525,19 @@ "type": { "value": "TopDownMovementBehavior::SimulateDownKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] }, { "type": { "value": "TopDownMovementBehavior::SimulateRightKey" }, - "parameters": ["Object", "TopDownMovement"] + "parameters": [ + "Object", + "TopDownMovement" + ] } ] } @@ -4162,57 +4567,177 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], + "choices": [], "name": "TopDownMovement" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": ["Primary", "Secondary"], + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } + ], "name": "JoystickIdentifier" }, { "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", - "extraInformation": ["Analog", "360°", "8 Directions"], + "choices": [ + { + "label": "Analog", + "value": "Analog" + }, + { + "label": "360°", + "value": "360°" + }, + { + "label": "8 Directions", + "value": "8 Directions" + } + ], "name": "StickMode" } ], - "sharedPropertyDescriptors": [] - } - ], - "eventsBasedObjects": [ - { - "areaMaxX": 64, - "areaMaxY": 64, - "areaMaxZ": 64, - "areaMinX": 0, - "areaMinY": 0, - "areaMinZ": 0, - "defaultName": "Joystick", - "description": "Joystick for touchscreens.", - "fullName": "Multitouch Joystick", - "isUsingLegacyInstancesRenderer": true, - "name": "SpriteMultitouchJoystick", + "sharedPropertyDescriptors": [] + } + ], + "eventsBasedObjects": [ + { + "areaMaxX": 64, + "areaMaxY": 64, + "areaMaxZ": 64, + "areaMinX": 0, + "areaMinY": 0, + "areaMinZ": 0, + "defaultName": "Joystick", + "description": "Joystick for touchscreens.", + "fullName": "Multitouch Joystick", + "isUsingLegacyInstancesRenderer": true, + "name": "SpriteMultitouchJoystick", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Thumb", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Border", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "MultitouchJoystick", + "type": "SpriteMultitouchJoystick::MultitouchJoystick", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "FloatingEnabled": false, + "DeadZoneRadius": 0.4, + "JoystickAngle": 0, + "JoystickForce": 0, + "TouchId": 0, + "TouchIndex": 0 + } + ], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Thumb" + }, + { + "objectName": "Border" + } + ] + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -4228,49 +4753,87 @@ "type": { "value": "Create" }, - "parameters": ["", "Border", "0", "0", ""] + "parameters": [ + "", + "Border", + "0", + "0", + "" + ] }, { "type": { "value": "Create" }, - "parameters": ["", "Thumb", "0", "0", ""] + "parameters": [ + "", + "Thumb", + "0", + "0", + "" + ] }, { "type": { "value": "ChangePlan" }, - "parameters": ["Border", "=", "1"] + "parameters": [ + "Border", + "=", + "1" + ] }, { "type": { "value": "ChangePlan" }, - "parameters": ["Thumb", "=", "2"] + "parameters": [ + "Thumb", + "=", + "2" + ] }, { "type": { "value": "SetCenter" }, - "parameters": ["Border", "=", "0", "=", "0"] + "parameters": [ + "Border", + "=", + "0", + "=", + "0" + ] }, { "type": { "value": "SetCenter" }, - "parameters": ["Thumb", "=", "0", "=", "0"] + "parameters": [ + "Thumb", + "=", + "0", + "=", + "0" + ] }, { "type": { "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::UpdateConfiguration" }, - "parameters": ["Object", ""] + "parameters": [ + "Object", + "" + ] }, { "type": { "value": "SetIncludedInParentCollisionMask" }, - "parameters": ["Thumb", ""] + "parameters": [ + "Thumb", + "" + ] } ] } @@ -4333,7 +4896,10 @@ "type": { "value": "SpriteMultitouchJoystick::SpriteMultitouchJoystick::UpdateConfiguration" }, - "parameters": ["Object", ""] + "parameters": [ + "Object", + "" + ] } ] } @@ -4424,7 +4990,9 @@ "inverted": true, "value": "GetArgumentAsBoolean" }, - "parameters": ["\"ShouldActivate\""] + "parameters": [ + "\"ShouldActivate\"" + ] } ], "actions": [ @@ -4432,7 +5000,11 @@ "type": { "value": "ActivateBehavior" }, - "parameters": ["Border", "MultitouchJoystick", "no"] + "parameters": [ + "Border", + "MultitouchJoystick", + "no" + ] } ] }, @@ -4443,7 +5015,9 @@ "type": { "value": "GetArgumentAsBoolean" }, - "parameters": ["\"ShouldActivate\""] + "parameters": [ + "\"ShouldActivate\"" + ] } ], "actions": [ @@ -4451,7 +5025,11 @@ "type": { "value": "ActivateBehavior" }, - "parameters": ["Border", "MultitouchJoystick", "yes"] + "parameters": [ + "Border", + "MultitouchJoystick", + "yes" + ] } ] } @@ -4485,7 +5063,11 @@ "type": { "value": "SpriteMultitouchJoystick::MultitouchJoystick::IsPressed" }, - "parameters": ["Border", "MultitouchJoystick", "!="] + "parameters": [ + "Border", + "MultitouchJoystick", + "!=" + ] } ], "actions": [ @@ -4493,7 +5075,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -4594,7 +5178,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["Border.MultitouchJoystick::StickForceX()"] + "parameters": [ + "Border.MultitouchJoystick::StickForceX()" + ] } ] } @@ -4627,7 +5213,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["Border.MultitouchJoystick::StickForceY()"] + "parameters": [ + "Border.MultitouchJoystick::StickForceY()" + ] } ] } @@ -4743,7 +5331,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -4791,7 +5381,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -5034,18 +5626,22 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": ["Primary", "Secondary"], + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } + ], "name": "JoystickIdentifier" }, { @@ -5053,8 +5649,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -5062,8 +5656,10 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": ["Thumb"], + "extraInformation": [ + "Thumb" + ], + "choices": [], "hidden": true, "name": "ThumbAnchorOrigin" }, @@ -5072,8 +5668,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -5082,8 +5676,10 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": ["Thumb"], + "extraInformation": [ + "Thumb" + ], + "choices": [], "hidden": true, "name": "ThumbIsScaledProportionally" }, @@ -5092,116 +5688,11 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" } ], - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Border", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, - "TouchId": 0, - "TouchIndex": 0 - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Thumb" - }, - { - "objectName": "Border" - } - ] - }, - "objectsGroups": [], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [] + "variants": [] } ] }, @@ -5210,6 +5701,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Smooth Camera", + "gdevelopVersion": "", "helpPath": "/tutorials/follow-player-with-camera/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=", "name": "SmoothCamera", @@ -5239,7 +5731,9 @@ "platformer", "platform" ], - "authorIds": ["IWykYNRvhCZBN3vEgKEbBPOR3Oc2"], + "authorIds": [ + "IWykYNRvhCZBN3vEgKEbBPOR3Oc2" + ], "dependencies": [], "globalVariables": [], "sceneVariables": [], @@ -5409,7 +5903,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyCameraDelay" }, - "parameters": ["Object", "Behavior", "=", "CameraDelay"] + "parameters": [ + "Object", + "Behavior", + "=", + "CameraDelay" + ] } ] } @@ -5443,7 +5942,10 @@ "inverted": true, "value": "SmoothCamera::SmoothCamera::PropertyIsCalledManually" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] } ], "actions": [ @@ -5451,7 +5953,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::DoMoveCameraCloser" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -5498,13 +6004,21 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIsCalledManually" }, - "parameters": ["Object", "Behavior", "yes"] + "parameters": [ + "Object", + "Behavior", + "yes" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::DoMoveCameraCloser" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -5552,13 +6066,21 @@ "type": { "value": "SmoothCamera::SmoothCamera::UpdateDelayedPosition" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::UpdateForecastedPosition" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] }, @@ -5581,7 +6103,10 @@ "type": { "value": "SmoothCamera::SmoothCamera::PropertyFollowOnX" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] } ], "actions": [ @@ -5735,7 +6260,10 @@ "type": { "value": "SmoothCamera::SmoothCamera::PropertyFollowOnY" }, - "parameters": ["Object", "Behavior"] + "parameters": [ + "Object", + "Behavior" + ] } ], "actions": [ @@ -6035,7 +6563,11 @@ "type": { "value": "PrimitiveDrawing::FillOpacity" }, - "parameters": ["ShapePainter", "=", "0"] + "parameters": [ + "ShapePainter", + "=", + "0" + ] } ] }, @@ -6067,13 +6599,21 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { "value": "PrimitiveDrawing::OutlineColor" }, - "parameters": ["ShapePainter", "\"245;166;35\""] + "parameters": [ + "ShapePainter", + "\"245;166;35\"" + ] }, { "type": { @@ -6106,7 +6646,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "+", "1"] + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] } ] }, @@ -6118,7 +6663,9 @@ "type": { "value": "PrimitiveDrawing::EndFillPath" }, - "parameters": ["ShapePainter"] + "parameters": [ + "ShapePainter" + ] } ] } @@ -6149,25 +6696,45 @@ "type": { "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaLeft" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaRight" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaTop" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::PropertyFollowFreeAreaBottom" }, - "parameters": ["Object", "Behavior", "!=", "0"] + "parameters": [ + "Object", + "Behavior", + "!=", + "0" + ] } ] } @@ -6177,7 +6744,10 @@ "type": { "value": "PrimitiveDrawing::OutlineColor" }, - "parameters": ["ShapePainter", "\"126;211;33\""] + "parameters": [ + "ShapePainter", + "\"126;211;33\"" + ] }, { "type": { @@ -6213,7 +6783,10 @@ "type": { "value": "PrimitiveDrawing::OutlineColor" }, - "parameters": ["ShapePainter", "\"208;2;27\""] + "parameters": [ + "ShapePainter", + "\"208;2;27\"" + ] }, { "type": { @@ -6326,7 +6899,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] }, @@ -6337,7 +6914,9 @@ "type": { "value": "GetArgumentAsBoolean" }, - "parameters": ["\"FollowOnX\""] + "parameters": [ + "\"FollowOnX\"" + ] } ], "actions": [ @@ -6345,7 +6924,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnX" }, - "parameters": ["Object", "Behavior", "yes"] + "parameters": [ + "Object", + "Behavior", + "yes" + ] } ] } @@ -6386,7 +6969,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] }, @@ -6397,7 +6984,9 @@ "type": { "value": "GetArgumentAsBoolean" }, - "parameters": ["\"FollowOnY\""] + "parameters": [ + "\"FollowOnY\"" + ] } ], "actions": [ @@ -6405,7 +6994,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyFollowOnY" }, - "parameters": ["Object", "Behavior", "yes"] + "parameters": [ + "Object", + "Behavior", + "yes" + ] } ] } @@ -6630,7 +7223,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax" }, - "parameters": ["Object", "Behavior", "=", "max(0, Speed)"] + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Speed)" + ] } ] } @@ -6671,7 +7269,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyLeftwardSpeedMax" }, - "parameters": ["Object", "Behavior", "=", "max(0, Speed)"] + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Speed)" + ] } ] } @@ -6712,7 +7315,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyUpwardSpeedMax" }, - "parameters": ["Object", "Behavior", "=", "max(0, Speed)"] + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Speed)" + ] } ] } @@ -6753,7 +7361,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyDownwardSpeedMax" }, - "parameters": ["Object", "Behavior", "=", "max(0, Speed)"] + "parameters": [ + "Object", + "Behavior", + "=", + "max(0, Speed)" + ] } ] } @@ -7022,7 +7635,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["CameraOffsetX"] + "parameters": [ + "CameraOffsetX" + ] } ] } @@ -7060,7 +7675,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetX" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -7156,7 +7776,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["CameraOffsetY"] + "parameters": [ + "CameraOffsetY" + ] } ] } @@ -7206,7 +7828,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyCameraOffsetY" }, - "parameters": ["Object", "Behavior", "=", "Value"] + "parameters": [ + "Object", + "Behavior", + "=", + "Value" + ] } ] } @@ -7562,7 +8189,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::IsWaiting" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { @@ -7656,7 +8287,11 @@ "inverted": true, "value": "SmoothCamera::SmoothCamera::IsDelayed" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -7688,13 +8323,21 @@ "type": { "value": "SmoothCamera::SmoothCamera::IsDelayed" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::IsWaiting" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ] } @@ -7903,7 +8546,11 @@ "type": { "value": "SmoothCamera::SmoothCamera::IsWaiting" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -7991,14 +8638,22 @@ "inverted": true, "value": "SmoothCamera::SmoothCamera::IsDelayed" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "inverted": true, "value": "SmoothCamera::SmoothCamera::IsWaiting" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] } ], "actions": [ @@ -8006,19 +8661,28 @@ "type": { "value": "ObjectVariableClearChildren" }, - "parameters": ["Object", "__SmoothCamera.ObjectTime"] + "parameters": [ + "Object", + "__SmoothCamera.ObjectTime" + ] }, { "type": { "value": "ObjectVariableClearChildren" }, - "parameters": ["Object", "__SmoothCamera.ObjectX"] + "parameters": [ + "Object", + "__SmoothCamera.ObjectX" + ] }, { "type": { "value": "ObjectVariableClearChildren" }, - "parameters": ["Object", "__SmoothCamera.ObjectY"] + "parameters": [ + "Object", + "__SmoothCamera.ObjectY" + ] } ] }, @@ -8030,7 +8694,11 @@ "inverted": true, "value": "SmoothCamera::SmoothCamera::IsWaiting" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { @@ -8080,13 +8748,22 @@ "inverted": true, "value": "SmoothCamera::SmoothCamera::IsWaiting" }, - "parameters": ["Object", "Behavior", ""] + "parameters": [ + "Object", + "Behavior", + "" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::PropertyCameraExtraDelay" }, - "parameters": ["Object", "Behavior", ">", "0"] + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] } ], "actions": [ @@ -8165,7 +8842,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -8201,7 +8880,9 @@ "type": { "value": "SetReturnNumber" }, - "parameters": ["CameraDelay + CameraExtraDelay"] + "parameters": [ + "CameraDelay + CameraExtraDelay" + ] } ] } @@ -8252,7 +8933,9 @@ "type": { "value": "SetReturnBoolean" }, - "parameters": ["True"] + "parameters": [ + "True" + ] } ] } @@ -8294,13 +8977,23 @@ "type": { "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" }, - "parameters": ["Object", "Behavior", ">", "0"] + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" }, - "parameters": ["Object", "Behavior", ">", "0"] + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] } ] } @@ -8515,13 +9208,23 @@ "type": { "value": "SmoothCamera::SmoothCamera::PropertyForecastHistoryDuration" }, - "parameters": ["Object", "Behavior", ">", "0"] + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::PropertyForecastTime" }, - "parameters": ["Object", "Behavior", ">", "0"] + "parameters": [ + "Object", + "Behavior", + ">", + "0" + ] } ] } @@ -8545,13 +9248,23 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanX" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] }, @@ -8575,7 +9288,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "+", "1"] + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] } ] }, @@ -8616,13 +9334,23 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryMeanY" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] }, @@ -8646,7 +9374,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "+", "1"] + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] } ] }, @@ -8716,25 +9449,45 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceX" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryVarianceY" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyForecastHistoryCovariance" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] }, { "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "=", "0"] + "parameters": [ + "Object", + "Behavior", + "=", + "0" + ] } ] }, @@ -8780,7 +9533,12 @@ "type": { "value": "SmoothCamera::SmoothCamera::SetPropertyIndex" }, - "parameters": ["Object", "Behavior", "+", "1"] + "parameters": [ + "Object", + "Behavior", + "+", + "1" + ] } ] }, @@ -9465,54 +10223,40 @@ "value": "0.9", "type": "Number", "label": "Leftward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "LeftwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Rightward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "RightwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "UpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "DownwardSpeed" }, { "value": "true", "type": "Boolean", "label": "Follow on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnX" }, { "value": "true", "type": "Boolean", "label": "Follow on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnY" }, { @@ -9520,9 +10264,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area left border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaLeft" }, @@ -9531,9 +10273,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area right border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaRight" }, @@ -9542,9 +10282,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaTop" }, @@ -9553,9 +10291,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaBottom" }, @@ -9564,9 +10300,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset X", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetX" }, @@ -9575,9 +10309,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset Y", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetY" }, @@ -9586,9 +10318,7 @@ "type": "Number", "unit": "Second", "label": "Camera delay", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "CameraDelay" }, @@ -9597,9 +10327,7 @@ "type": "Number", "unit": "Second", "label": "Forecast time", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastTime" }, @@ -9608,9 +10336,7 @@ "type": "Number", "unit": "Second", "label": "Forecast history duration", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastHistoryDuration" }, @@ -9618,9 +10344,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogLeftwardSpeed" }, @@ -9628,9 +10351,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogRightwardSpeed" }, @@ -9638,9 +10358,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogDownwardSpeed" }, @@ -9648,9 +10365,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogUpwardSpeed" }, @@ -9658,9 +10372,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterX" }, @@ -9668,9 +10379,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterY" }, @@ -9678,9 +10386,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanX" }, @@ -9688,9 +10393,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanY" }, @@ -9698,9 +10400,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceX" }, @@ -9708,9 +10407,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryCovariance" }, @@ -9718,9 +10414,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearA" }, @@ -9728,9 +10421,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearB" }, @@ -9738,9 +10428,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedX" }, @@ -9748,9 +10435,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedY" }, @@ -9758,9 +10442,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestX" }, @@ -9768,9 +10449,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestY" }, @@ -9778,9 +10456,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestX" }, @@ -9788,9 +10463,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestY" }, @@ -9798,9 +10470,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceY" }, @@ -9808,9 +10477,6 @@ "value": "", "type": "Number", "label": "Index (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" }, @@ -9818,9 +10484,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpSpeed" }, @@ -9828,9 +10491,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraExtraDelay" }, @@ -9838,9 +10498,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedXMax" }, @@ -9848,9 +10505,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedYMax" }, @@ -9858,9 +10512,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingEnd" }, @@ -9868,9 +10519,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpDuration" }, @@ -9879,9 +10527,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Leftward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "LeftwardSpeedMax" }, @@ -9890,9 +10536,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Rightward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "RightwardSpeedMax" }, @@ -9901,9 +10545,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "UpwardSpeedMax" }, @@ -9912,9 +10554,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "DownwardSpeedMax" }, @@ -9922,9 +10562,6 @@ "value": "", "type": "Number", "label": "OldX (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -9932,9 +10569,6 @@ "value": "", "type": "Number", "label": "OldY (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" }, @@ -9942,9 +10576,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsCalledManually" } @@ -9971,14 +10602,20 @@ "inverted": true, "value": "PlatformBehavior::IsJumping" }, - "parameters": ["Object", "PlatformerCharacter"] + "parameters": [ + "Object", + "PlatformerCharacter" + ] }, { "type": { "inverted": true, "value": "PlatformBehavior::IsFalling" }, - "parameters": ["Object", "PlatformerCharacter"] + "parameters": [ + "Object", + "PlatformerCharacter" + ] } ], "actions": [ @@ -10063,13 +10700,19 @@ "type": { "value": "PlatformBehavior::IsJumping" }, - "parameters": ["Object", "PlatformerCharacter"] + "parameters": [ + "Object", + "PlatformerCharacter" + ] }, { "type": { "value": "PlatformBehavior::IsFalling" }, - "parameters": ["Object", "PlatformerCharacter"] + "parameters": [ + "Object", + "PlatformerCharacter" + ] } ] } @@ -10165,29 +10808,26 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "PlatformerCharacter" }, { "value": "", "type": "Behavior", "label": "Smooth camera behavior", - "description": "", - "group": "", - "extraInformation": ["SmoothCamera::SmoothCamera"], + "extraInformation": [ + "SmoothCamera::SmoothCamera" + ], + "choices": [], "name": "SmoothCamera" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JumpOriginY" }, @@ -10196,9 +10836,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaTop" }, { @@ -10206,9 +10844,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaBottom" }, { @@ -10216,9 +10852,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaTop" }, { @@ -10226,45 +10860,35 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaBottom" }, { "value": "0.95", "type": "Number", "label": "Upward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirUpwardSpeed" }, { "value": "0.95", "type": "Number", "label": "Downward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirDownwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorUpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorDownwardSpeed" }, { @@ -10272,9 +10896,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirUpwardSpeedMax" }, { @@ -10282,9 +10904,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirDownwardSpeedMax" }, { @@ -10292,9 +10912,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorUpwardSpeedMax" }, { @@ -10302,9 +10920,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorDownwardSpeedMax" } ], @@ -10315,4 +10931,4 @@ } ], "externalLayouts": [] -} +} \ No newline at end of file diff --git a/examples/starting-top-down-rpg/README.md b/examples/starting-top-down-rpg/README.md index ccfe66ed7..51e77c2ab 100644 --- a/examples/starting-top-down-rpg/README.md +++ b/examples/starting-top-down-rpg/README.md @@ -1,5 +1,5 @@ # 2D RPG -A 2D top-down RPG-style game where the player can explore the map and interact with other characters. When near a character, a dialog appears with text and two choices. +A 2D angled top-down RPG-style game, where the player can move left, right, up, or down, but cannot walk through building objects. When near an NPC, the player can press an action button to open a dialog box with text and two choice buttons. The camera smoothly follows the player along the X and Y axis. -Support for keyboard and mobile controls. \ No newline at end of file +This setup is ideal for JRPGs, similar to those made with RPG maker. The player character can be controlled with keyboard or touch screen controls. \ No newline at end of file diff --git a/examples/starting-top-down-rpg/starting-top-down-rpg.json b/examples/starting-top-down-rpg/starting-top-down-rpg.json index 54f67baf4..69fb589f6 100644 --- a/examples/starting-top-down-rpg/starting-top-down-rpg.json +++ b/examples/starting-top-down-rpg/starting-top-down-rpg.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 240, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-top-down", "version": "1.0.0", - "name": "starting_topdownrpg", + "name": "starting-top-down-rpg", "description": "", "author": "", "windowWidth": 1280, @@ -240,8 +240,9 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.5468750000000037, - "windowMask": false + "zoomFactor": 0.5117784035210207, + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -252,7 +253,7 @@ "height": 64, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 64, "x": 640, @@ -291,7 +292,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick", + "name": "MoveJoystick", "persistentUuid": "b0c31bb4-0add-4dda-9367-c5136e4b118d", "width": 0, "x": 176, @@ -308,7 +309,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "bf491a89-6d62-4e13-ac2e-3da098273621", "width": 128, "x": 1216, @@ -325,7 +326,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "e7fc2871-de6c-4977-bce2-07cc09c1b460", "width": 128, "x": 896, @@ -342,7 +343,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "f46618ee-f2fb-4640-98b1-71a2aadd4553", "width": 64, "x": 992, @@ -359,7 +360,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "c3864fba-4dd2-48ee-9093-2fd5eb3b4a69", "width": 64, "x": 800, @@ -376,7 +377,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "7170565c-f651-404e-b887-40044040de3c", "width": 64, "x": 96, @@ -393,7 +394,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "660cbb77-17e4-4e01-95b3-63e4408731c3", "width": 128, "x": 320, @@ -410,7 +411,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "d900679f-aaaa-4e64-a92a-e133955c0689", "width": 64, "x": 416, @@ -427,7 +428,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Obstacle", + "name": "Building_Obstacle", "persistentUuid": "8bb36433-7dc0-426e-8db2-d50a19b2a306", "width": 128, "x": 64, @@ -510,7 +511,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -820,7 +821,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -903,7 +904,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Obstacle", + "name": "Building_Obstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1108,7 +1109,7 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { "objectName": "NPC" @@ -1117,7 +1118,7 @@ "objectName": "Ground_Tilemap" }, { - "objectName": "Obstacle" + "objectName": "Building_Obstacle" }, { "objectName": "TwoChoicesDialogBox" @@ -1126,7 +1127,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" }, { "objectName": "ActionButton" @@ -1154,9 +1155,9 @@ "value": "ChangePlan" }, "parameters": [ - "Obstacle", + "Building_Obstacle", "=", - "Obstacle.Y()" + "Building_Obstacle.Y()" ] }, { @@ -1189,9 +1190,9 @@ "value": "ChangePlan" }, "parameters": [ - "TopDown_Character", + "Player", "=", - "TopDown_Character.Y()" + "Player.Y()" ] }, { @@ -1199,8 +1200,8 @@ "value": "SeparateFromObjects" }, "parameters": [ - "TopDown_Character", - "Obstacle", + "Player", + "Building_Obstacle", "no" ] } @@ -1230,7 +1231,7 @@ "value": "CollisionNP" }, "parameters": [ - "TopDown_Character", + "Player", "NPC", "", "", @@ -1271,7 +1272,7 @@ "value": "ActivateBehavior" }, "parameters": [ - "TopDown_Character", + "Player", "TopDownMovement", "" ] @@ -1322,8 +1323,8 @@ }, "parameters": [ "NPC", - "TopDown_Character.X()", - "TopDown_Character.Y()", + "Player.X()", + "Player.Y()", "" ] } @@ -1376,7 +1377,7 @@ "value": "ActivateBehavior" }, "parameters": [ - "TopDown_Character", + "Player", "TopDownMovement", "yes" ] @@ -5332,6 +5333,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -14379,6 +14381,7 @@ "initialVariables": [] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -15852,7 +15855,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} }, { "areaMaxX": 256, @@ -16157,7 +16161,8 @@ "stringProperties": [], "initialVariables": [] } - ] + ], + "editionSettings": {} } ] } @@ -16487,6 +16492,7 @@ ] } ], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -17758,7 +17764,8 @@ } ] } - ] + ], + "editionSettings": {} }, { "areaMaxX": 600, @@ -18042,7 +18049,8 @@ } ] } - ] + ], + "editionSettings": {} } ] } diff --git a/examples/starting-top-down-survival-crafting/README.md b/examples/starting-top-down-survival-crafting/README.md index 6eccfce79..2b47ac3e2 100644 --- a/examples/starting-top-down-survival-crafting/README.md +++ b/examples/starting-top-down-survival-crafting/README.md @@ -1,4 +1,5 @@ # Top-down Survival Crafting -A 2D, top-down survival game where the player can gathers resources. -Supports both mouse and touch controls. \ No newline at end of file +A 2D angled top-down game where the player uses the Top-Down Movement behavior to move smoothly in all directions. The scene includes a ground tilemap, as well as solid tree and boulder objects that the player can't pass through. The player can pick up objects and store them in an inventory, then place objects back onto the ground using a ground selection tool to check if that location is one where the object can be placed. Performing an action on the harvestable tree and boulder objects will add resources to the inventory. The inventory uses UI icons to display the contents of the inventory, as well as allow the player to select which item to use and choose which slot a picked-up object will occupy. + +This setup works well for any game where the player picks up resources and crafts things with those resources, especially for survival crafting games. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json b/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json index 2719f407c..8135d7c07 100644 --- a/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json +++ b/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json @@ -274,7 +274,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.39251611754882765, + "zoomFactor": 0.4335774304702432, "windowMask": false, "selectedLayer": "" }, @@ -305,7 +305,7 @@ "name": "Obstacle", "objects": [ { - "name": "Building" + "name": "Building_Obstacle" }, { "name": "Harvest_Boulder" @@ -379,7 +379,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick", + "name": "MoveJoystick", "persistentUuid": "b0c31bb4-0add-4dda-9367-c5136e4b118d", "width": 0, "x": 176, @@ -396,7 +396,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "e7fc2871-de6c-4977-bce2-07cc09c1b460", "width": 128, "x": 768, @@ -413,7 +413,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "c3864fba-4dd2-48ee-9093-2fd5eb3b4a69", "width": 64, "x": 928, @@ -578,7 +578,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "192e9fda-abd0-4c50-817c-f43460c5dd92", "width": 64, "x": 864, @@ -595,7 +595,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "239ae1f5-6611-4039-99bc-7754ee285241", "width": 128, "x": 512, @@ -612,7 +612,7 @@ "height": 192, "keepRatio": true, "layer": "", - "name": "Building", + "name": "Building_Obstacle", "persistentUuid": "c8ae0d6a-82f5-458c-8bfa-91cf363c2aee", "width": 128, "x": 640, @@ -1018,7 +1018,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -1101,7 +1101,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Building", + "name": "Building_Obstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1915,7 +1915,7 @@ "objectName": "Harvest_Tree" }, { - "objectName": "Building" + "objectName": "Building_Obstacle" }, { "objectName": "InventoryIcons" @@ -1933,7 +1933,7 @@ "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" }, { "objectName": "ActionButton" @@ -2376,7 +2376,7 @@ "value": "SourisSurObjet" }, "parameters": [ - "Joystick", + "MoveJoystick", "", "", "" @@ -2817,7 +2817,7 @@ "value": "CollisionPoint" }, "parameters": [ - "Building", + "Building_Obstacle", "Ground_SelectionBox.CenterX()", "Ground_SelectionBox.CenterY()" ] diff --git a/examples/starting-top-down/README.md b/examples/starting-top-down/README.md index 6f318f805..37522fddf 100644 --- a/examples/starting-top-down/README.md +++ b/examples/starting-top-down/README.md @@ -1,4 +1,3 @@ # Top-down game -A 2D, top-down, game where the player can move around on a small level with solid obstacles. -Support for both mobile controls and keyboard. \ No newline at end of file +A top-down 2D game where the player uses the Top-Down Movement behavior to move in all directions. The camera follows the player smoothly as they move around the game scene. The player is prevented from overlapping or passing through obstacle objects such as walls or plants by using collision separation. The game supports both keyboard/mouse controls and mobile touch controls. \ No newline at end of file diff --git a/examples/starting-top-down/starting-top-down.json b/examples/starting-top-down/starting-top-down.json index 04fc4045b..df530a893 100644 --- a/examples/starting-top-down/starting-top-down.json +++ b/examples/starting-top-down/starting-top-down.json @@ -1,9 +1,9 @@ { "firstLayout": "", "gdVersion": { - "build": 218, + "build": 245, "major": 5, - "minor": 4, + "minor": 5, "revision": 0 }, "properties": { @@ -18,9 +18,8 @@ "scaleMode": "linear", "sizeOnStartupMode": "", "templateSlug": "", - "useExternalSourceFiles": false, "version": "1.0.0", - "name": "Top Down Game", + "name": "starting-top-down", "description": "", "author": "", "windowWidth": 1280, @@ -93,7 +92,6 @@ "resources": { "resources": [ { - "alwaysLoaded": false, "file": "assets/StartingPlayer.png", "kind": "image", "metadata": "", @@ -102,7 +100,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/StartingGroundTilemap.png", "kind": "image", "metadata": "", @@ -111,7 +108,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/StartingWall.png", "kind": "image", "metadata": "", @@ -120,7 +116,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/StartingObstacle.png", "kind": "image", "metadata": "", @@ -129,7 +124,6 @@ "userAdded": false }, { - "alwaysLoaded": false, "file": "assets/Flat dark joystick border.png", "kind": "image", "metadata": "", @@ -142,7 +136,6 @@ } }, { - "alwaysLoaded": false, "file": "assets/Flat dark joystick thumb.png", "kind": "image", "metadata": "", @@ -185,7 +178,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5653158055126329, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -196,7 +190,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 0, "x": 608, @@ -234,7 +228,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "1ef6f774-a666-42ab-bcc0-4ecdb8656e6a", "width": 0, "x": 1152, @@ -250,7 +244,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "a95eccb9-3ddc-4f20-aeec-55dd40e9cf56", "width": 0, "x": 256, @@ -266,7 +260,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "726d874b-fb5d-4e42-82f6-c3d2ab5aefbd", "width": 0, "x": 896, @@ -283,7 +277,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Wall", + "name": "Wall_Obstacle", "persistentUuid": "22bf0d32-275e-4e74-b120-bfa34be62474", "width": 128, "x": 0, @@ -299,7 +293,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "6dabd131-ae06-40b2-930f-50d1e7026310", "width": 0, "x": 576, @@ -315,7 +309,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "4422fbf3-9071-4d22-97ee-f258cac25ee2", "width": 0, "x": 192, @@ -331,7 +325,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "feccce61-ac7a-40f8-925e-84ce0766fc15", "width": 0, "x": 384, @@ -347,7 +341,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "4a78f239-4eba-4792-a457-8b997763e8eb", "width": 0, "x": 640, @@ -363,7 +357,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "e8b8a032-ae32-41b2-9468-0aad5f3d0e6c", "width": 0, "x": 1152, @@ -379,7 +373,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "0558feb8-600f-40b6-b474-67ea4d4a7bd2", "width": 0, "x": 1152, @@ -395,7 +389,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "cb56c589-3dec-471f-9f78-46c50bc95adc", "width": 0, "x": 768, @@ -411,7 +405,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "Plant", + "name": "Plant_Obstacle", "persistentUuid": "b18f0870-688b-448d-a660-b6012462631f", "width": 0, "x": 704, @@ -427,7 +421,8 @@ "height": 0, "keepRatio": true, "layer": "MobileControls", - "name": "Joystick", + "locked": true, + "name": "MoveJoystick", "persistentUuid": "b0c31bb4-0add-4dda-9367-c5136e4b118d", "width": 0, "x": 176, @@ -444,7 +439,7 @@ "height": 128, "keepRatio": true, "layer": "", - "name": "Wall", + "name": "Wall_Obstacle", "persistentUuid": "c7ce716c-4fa4-4a66-9ec8-e0fd2a3937c4", "width": 128, "x": 896, @@ -459,7 +454,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -610,7 +605,7 @@ { "assetStoreId": "", "height": 64, - "name": "Wall", + "name": "Wall_Obstacle", "texture": "assets\\StartingWall.png", "type": "TiledSpriteObject::TiledSprite", "width": 64, @@ -621,7 +616,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Plant", + "name": "Plant_Obstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -696,8 +691,9 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", "variables": [], "effects": [], "behaviors": [], @@ -780,22 +776,22 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { "objectName": "Ground_Tilemap" }, { - "objectName": "Wall" + "objectName": "Wall_Obstacle" }, { - "objectName": "Plant" + "objectName": "Plant_Obstacle" }, { "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" } ] } @@ -811,8 +807,8 @@ "value": "SeparateFromObjects" }, "parameters": [ - "TopDown_Character", - "Wall", + "Player", + "Wall_Obstacle", "" ] }, @@ -821,8 +817,8 @@ "value": "SeparateFromObjects" }, "parameters": [ - "TopDown_Character", - "Plant", + "Player", + "Plant_Obstacle", "" ] } @@ -923,6 +919,7 @@ "category": "Input", "extensionNamespace": "", "fullName": "Multitouch joystick and buttons (sprite)", + "gdevelopVersion": "", "helpPath": "/objects/multitouch-joystick", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTYiIGN5PSIxNiIgcj0iMTMiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjI4LjQsMTIgMjAsMTIgMjAsMy42ICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMjAsMjguNCAyMCwyMCAyOC40LDIwICIvPg0KPHBvbHlsaW5lIGNsYXNzPSJzdDAiIHBvaW50cz0iMy42LDIwIDEyLDIwIDEyLDI4LjQgIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIxMiwzLjYgMTIsMTIgMy42LDEyICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIxNiw2IDE2LjcsNyAxNS4zLDcgIi8+DQo8cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjE2LDI2IDE1LjMsMjUgMTYuNywyNSAiLz4NCjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iNiwxNiA3LDE1LjMgNywxNi43ICIvPg0KPHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyNiwxNiAyNSwxNi43IDI1LDE1LjMgIi8+DQo8L3N2Zz4NCg==", "name": "SpriteMultitouchJoystick", @@ -3371,18 +3368,12 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "String", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [], "name": "JoystickIdentifier" }, { @@ -3390,17 +3381,12 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { "value": "0", "type": "Number", "label": "Joystick angle (range: -180 to 180)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickAngle" }, @@ -3408,9 +3394,6 @@ "value": "0", "type": "Number", "label": "Joystick force (range: 0 to 1)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JoystickForce" }, @@ -3418,9 +3401,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -3428,9 +3408,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" } @@ -3813,27 +3790,18 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "A", "type": "String", "label": "Button identifier", - "description": "", - "group": "", - "extraInformation": [], "name": "ButtonIdentifier" }, { "value": "0", "type": "Number", "label": "TouchID", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchId" }, @@ -3841,9 +3809,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "TouchIndex" }, @@ -3851,9 +3816,6 @@ "value": "", "type": "Boolean", "label": "Button released", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsReleased" } @@ -4042,31 +4004,32 @@ "value": "", "type": "Behavior", "label": "Platform character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "Property" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -4074,9 +4037,7 @@ "value": "A", "type": "String", "label": "Jump button name", - "description": "", "group": "Controls", - "extraInformation": [], "name": "JumpButton" } ], @@ -4600,31 +4561,31 @@ "value": "", "type": "Behavior", "label": "Top-down movement behavior", - "description": "", - "group": "", "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], + "choices": [], "name": "TopDownMovement" }, { "value": "1", "type": "Number", "label": "Controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -4632,12 +4593,20 @@ "value": "Analog", "type": "Choice", "label": "Stick mode", - "description": "", "group": "Controls", - "extraInformation": [ - "Analog", - "360°", - "8 Directions" + "choices": [ + { + "label": "Analog", + "value": "Analog" + }, + { + "label": "360°", + "value": "360°" + }, + { + "label": "8 Directions", + "value": "8 Directions" + } ], "name": "StickMode" } @@ -4658,6 +4627,111 @@ "fullName": "Multitouch Joystick", "isUsingLegacyInstancesRenderer": true, "name": "SpriteMultitouchJoystick", + "objects": [ + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Thumb", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "Border", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ + { + "name": "MultitouchJoystick", + "type": "SpriteMultitouchJoystick::MultitouchJoystick", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "FloatingEnabled": false, + "DeadZoneRadius": 0.4, + "JoystickAngle": 0, + "JoystickForce": 0, + "TouchId": 0, + "TouchIndex": 0 + } + ], + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [] + } + ] + } + ] + } + ], + "objectsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "objectName": "Thumb" + }, + { + "objectName": "Border" + } + ] + }, + "objectsGroups": [], + "layers": [ + { + "ambientLightColorB": 200, + "ambientLightColorG": 200, + "ambientLightColorR": 200, + "camera3DFarPlaneDistance": 10000, + "camera3DFieldOfView": 45, + "camera3DNearPlaneDistance": 3, + "cameraType": "", + "followBaseLayerCamera": false, + "isLightingLayer": false, + "isLocked": false, + "name": "", + "renderingType": "", + "visibility": true, + "cameras": [ + { + "defaultSize": true, + "defaultViewport": true, + "height": 0, + "viewportBottom": 1, + "viewportLeft": 0, + "viewportRight": 1, + "viewportTop": 0, + "width": 0 + } + ], + "effects": [] + } + ], + "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -5546,20 +5620,21 @@ "value": "1", "type": "Number", "label": "Multitouch controller identifier (1, 2, 3, 4...)", - "description": "", - "group": "", - "extraInformation": [], "name": "ControllerIdentifier" }, { "value": "Primary", "type": "Choice", "label": "Joystick name", - "description": "", - "group": "", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -5568,8 +5643,6 @@ "type": "Number", "label": "Dead zone radius (range: 0 to 1)", "description": "The deadzone is an area for which movement on sticks won't be taken into account (instead, the stick will be considered as not moved)", - "group": "", - "extraInformation": [], "name": "DeadZoneRadius" }, { @@ -5577,10 +5650,10 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbAnchorOrigin" }, @@ -5589,8 +5662,6 @@ "type": "Number", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ThumbAnchorTarget" }, @@ -5599,10 +5670,10 @@ "type": "Boolean", "label": "", "description": "Only used by the scene editor.", - "group": "", "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbIsScaledProportionally" }, @@ -5611,116 +5682,11 @@ "type": "String", "label": "", "description": "Only used by the scene editor.", - "group": "", - "extraInformation": [], "hidden": true, "name": "ParentOrigin" } ], - "objects": [ - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Thumb", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Border", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "MultitouchJoystick", - "type": "SpriteMultitouchJoystick::MultitouchJoystick", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "FloatingEnabled": false, - "DeadZoneRadius": 0.4, - "JoystickAngle": 0, - "JoystickForce": 0, - "TouchId": 0, - "TouchIndex": 0 - } - ], - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [] - } - ] - } - ] - } - ], - "objectsFolderStructure": { - "folderName": "__ROOT", - "children": [ - { - "objectName": "Thumb" - }, - { - "objectName": "Border" - } - ] - }, - "objectsGroups": [], - "layers": [ - { - "ambientLightColorB": 200, - "ambientLightColorG": 200, - "ambientLightColorR": 200, - "camera3DFarPlaneDistance": 10000, - "camera3DFieldOfView": 45, - "camera3DNearPlaneDistance": 3, - "cameraType": "", - "followBaseLayerCamera": false, - "isLightingLayer": false, - "isLocked": false, - "name": "", - "renderingType": "", - "visibility": true, - "cameras": [ - { - "defaultSize": true, - "defaultViewport": true, - "height": 0, - "viewportBottom": 1, - "viewportLeft": 0, - "viewportRight": 1, - "viewportTop": 0, - "width": 0 - } - ], - "effects": [] - } - ], - "instances": [] + "variants": [] } ] }, @@ -5729,6 +5695,7 @@ "category": "Camera", "extensionNamespace": "", "fullName": "Smooth Camera", + "gdevelopVersion": "", "helpPath": "/tutorials/follow-player-with-camera/", "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0MXtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjQsMTNoLTZjLTEuMSwwLTItMC45LTItMlY1YzAtMS4xLDAuOS0yLDItMmg2YzEuMSwwLDIsMC45LDIsMnY2QzI2LDEyLjEsMjUuMSwxMywyNCwxM3oiLz4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yNiw4djEwYzAsMS4xLTAuOSwyLTIsMkg4Yy0xLjEsMC0yLTAuOS0yLTJWOGMwLTEuMSwwLjktMiwyLTJoOCIvPg0KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMjEiIGN5PSI4IiByPSIyIi8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSIxMSIgY3k9IjE2IiByPSIxIi8+DQo8cmVjdCB4PSI5IiB5PSI5IiBjbGFzcz0ic3QwIiB3aWR0aD0iNCIgaGVpZ2h0PSIzIi8+DQo8cG9seWxpbmUgY2xhc3M9InN0MCIgcG9pbnRzPSIyMSwyOSAyMSwyOSAxMSwyOSAxMSwyOSAiLz4NCjxwb2x5bGluZSBjbGFzcz0ic3QwIiBwb2ludHM9IjE4LDIwIDE4LDI5IDE0LDI5IDE0LDIwICIvPg0KPHJlY3QgeD0iNyIgeT0iMyIgY2xhc3M9InN0MCIgd2lkdGg9IjQiIGhlaWdodD0iMyIvPg0KPC9zdmc+DQo=", "name": "SmoothCamera", @@ -10250,54 +10217,40 @@ "value": "0.9", "type": "Number", "label": "Leftward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "LeftwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Rightward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "RightwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "UpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward catch-up speed (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "DownwardSpeed" }, { "value": "true", "type": "Boolean", "label": "Follow on X axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnX" }, { "value": "true", "type": "Boolean", "label": "Follow on Y axis", - "description": "", - "group": "", - "extraInformation": [], "name": "FollowOnY" }, { @@ -10305,9 +10258,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area left border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaLeft" }, @@ -10316,9 +10267,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area right border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaRight" }, @@ -10327,9 +10276,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaTop" }, @@ -10338,9 +10285,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom border", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "FollowFreeAreaBottom" }, @@ -10349,9 +10294,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset X", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetX" }, @@ -10360,9 +10303,7 @@ "type": "Number", "unit": "Pixel", "label": "Camera offset Y", - "description": "", "group": "Position", - "extraInformation": [], "advanced": true, "name": "CameraOffsetY" }, @@ -10371,9 +10312,7 @@ "type": "Number", "unit": "Second", "label": "Camera delay", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "CameraDelay" }, @@ -10382,9 +10321,7 @@ "type": "Number", "unit": "Second", "label": "Forecast time", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastTime" }, @@ -10393,9 +10330,7 @@ "type": "Number", "unit": "Second", "label": "Forecast history duration", - "description": "", "group": "Timing", - "extraInformation": [], "deprecated": true, "name": "ForecastHistoryDuration" }, @@ -10403,9 +10338,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogLeftwardSpeed" }, @@ -10413,9 +10345,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogRightwardSpeed" }, @@ -10423,9 +10352,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogDownwardSpeed" }, @@ -10433,9 +10359,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "LogUpwardSpeed" }, @@ -10443,9 +10366,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterX" }, @@ -10453,9 +10373,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "DelayedCenterY" }, @@ -10463,9 +10380,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanX" }, @@ -10473,9 +10387,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryMeanY" }, @@ -10483,9 +10394,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceX" }, @@ -10493,9 +10401,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryCovariance" }, @@ -10503,9 +10408,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearA" }, @@ -10513,9 +10415,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryLinearB" }, @@ -10523,9 +10422,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedX" }, @@ -10533,9 +10429,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastedY" }, @@ -10543,9 +10436,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestX" }, @@ -10553,9 +10443,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedNewestY" }, @@ -10563,9 +10450,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestX" }, @@ -10573,9 +10457,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ProjectedOldestY" }, @@ -10583,9 +10464,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "ForecastHistoryVarianceY" }, @@ -10593,9 +10471,6 @@ "value": "", "type": "Number", "label": "Index (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "Index" }, @@ -10603,9 +10478,6 @@ "value": "0", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpSpeed" }, @@ -10613,9 +10485,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraExtraDelay" }, @@ -10623,9 +10492,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedXMax" }, @@ -10633,9 +10499,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingSpeedYMax" }, @@ -10643,9 +10506,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "WaitingEnd" }, @@ -10653,9 +10513,6 @@ "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "CameraDelayCatchUpDuration" }, @@ -10664,9 +10521,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Leftward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "LeftwardSpeedMax" }, @@ -10675,9 +10530,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Rightward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "RightwardSpeedMax" }, @@ -10686,9 +10539,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "UpwardSpeedMax" }, @@ -10697,9 +10548,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed", - "description": "", "group": "Maximum speed", - "extraInformation": [], "advanced": true, "name": "DownwardSpeedMax" }, @@ -10707,9 +10556,6 @@ "value": "", "type": "Number", "label": "OldX (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldX" }, @@ -10717,9 +10563,6 @@ "value": "", "type": "Number", "label": "OldY (local variable)", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "OldY" }, @@ -10727,9 +10570,6 @@ "value": "", "type": "Boolean", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "IsCalledManually" } @@ -10962,31 +10802,26 @@ "value": "", "type": "Behavior", "label": "Platformer character behavior", - "description": "", - "group": "", "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "PlatformerCharacter" }, { "value": "", "type": "Behavior", "label": "Smooth camera behavior", - "description": "", - "group": "", "extraInformation": [ "SmoothCamera::SmoothCamera" ], + "choices": [], "name": "SmoothCamera" }, { "value": "", "type": "Number", "label": "", - "description": "", - "group": "", - "extraInformation": [], "hidden": true, "name": "JumpOriginY" }, @@ -10995,9 +10830,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaTop" }, { @@ -11005,9 +10838,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom in the air", - "description": "", "group": "Position", - "extraInformation": [], "name": "AirFollowFreeAreaBottom" }, { @@ -11015,9 +10846,7 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area top on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaTop" }, { @@ -11025,45 +10854,35 @@ "type": "Number", "unit": "Pixel", "label": "Follow free area bottom on the floor", - "description": "", "group": "Position", - "extraInformation": [], "name": "FloorFollowFreeAreaBottom" }, { "value": "0.95", "type": "Number", "label": "Upward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirUpwardSpeed" }, { "value": "0.95", "type": "Number", "label": "Downward speed in the air (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "AirDownwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Upward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorUpwardSpeed" }, { "value": "0.9", "type": "Number", "label": "Downward speed on the floor (in ratio per second)", - "description": "", "group": "Catch-up speed", - "extraInformation": [], "name": "FloorDownwardSpeed" }, { @@ -11071,9 +10890,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirUpwardSpeedMax" }, { @@ -11081,9 +10898,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed in the air", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "AirDownwardSpeedMax" }, { @@ -11091,9 +10906,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Upward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorUpwardSpeedMax" }, { @@ -11101,9 +10914,7 @@ "type": "Number", "unit": "PixelSpeed", "label": "Downward maximum speed on the floor", - "description": "", "group": "Maximum speed", - "extraInformation": [], "name": "FloorDownwardSpeedMax" } ], @@ -11113,6 +10924,5 @@ "eventsBasedObjects": [] } ], - "externalLayouts": [], - "externalSourceFiles": [] + "externalLayouts": [] } \ No newline at end of file diff --git a/examples/starting-twin-stick-shooter/README.md b/examples/starting-twin-stick-shooter/README.md index 513c9d224..0fbb098b5 100644 --- a/examples/starting-twin-stick-shooter/README.md +++ b/examples/starting-twin-stick-shooter/README.md @@ -1,5 +1,3 @@ # 2D Twin Stick Shooter -A 2D, top-down, game where the player can move around and shoot at enemies which are randomly created around the player and moving toward them. -The player movement and shooting direction are independant. -Support for mobile controls (using two virtual joysticks, hence the name "Twin Stick Shooter") and mouse/keyboard. \ No newline at end of file +A 2D top-down twin-stick shooter where the player moves freely along the X and Y axes while independently aiming to control the direction that bullets are fired. Enemies spawn off-screen around the player and continuously move toward them. Enemies take three hits to be destroyed, and the player dies if they collide with an enemy. The game supports keyboard and mouse controls, or mobile touch controls using two virtual joysticks for independent movement and shooting. \ No newline at end of file diff --git a/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json b/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json index 29e4bce57..af6394dcd 100644 --- a/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json +++ b/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-top-down", "version": "1.0.0", - "name": "starting_twinstickshooter", + "name": "starting-twin-stick-shooter", "description": "", "author": "", "windowWidth": 1280, @@ -202,7 +202,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 0, "x": 608, @@ -237,7 +237,7 @@ "keepRatio": true, "layer": "Background", "locked": true, - "name": "Background", + "name": "RepeatingBackground", "persistentUuid": "f454010e-3716-4d3a-9164-74c7e450b60f", "width": 1280, "x": 0, @@ -269,7 +269,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -519,7 +519,7 @@ { "assetStoreId": "", "height": 352, - "name": "Background", + "name": "RepeatingBackground", "texture": "assets\\StartingTiledGround.png", "type": "TiledSpriteObject::TiledSprite", "width": 640, @@ -596,7 +596,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Bullet", + "name": "PlayerBullet", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -750,16 +750,16 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { - "objectName": "Enemy" + "objectName": "PlayerBullet" }, { - "objectName": "Bullet" + "objectName": "Enemy" }, { - "objectName": "Background" + "objectName": "RepeatingBackground" }, { "folderName": "Mobile Controls", @@ -799,6 +799,44 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TiledSpriteObject::XOffset" + }, + "parameters": [ + "RepeatingBackground", + "=", + "CameraCenterX()" + ] + }, + { + "type": { + "value": "TiledSpriteObject::YOffset" + }, + "parameters": [ + "RepeatingBackground", + "=", + "CameraCenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Enemy logic" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -822,8 +860,8 @@ "parameters": [ "", "Enemy", - "TopDown_Character.X() + (RandomWithStep(-1, 1, 2) * SceneWindowWidth() / 2)", - "TopDown_Character.Y() + (RandomWithStep(-1, 1, 2) * SceneWindowHeight() / 2)", + "Player.X() + (RandomWithStep(-1, 1, 2) * SceneWindowWidth() / 2)", + "Player.Y() + (RandomWithStep(-1, 1, 2) * SceneWindowHeight() / 2)", "" ] }, @@ -838,32 +876,6 @@ } ] }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TiledSpriteObject::XOffset" - }, - "parameters": [ - "Background", - "=", - "CameraCenterX()" - ] - }, - { - "type": { - "value": "TiledSpriteObject::YOffset" - }, - "parameters": [ - "Background", - "=", - "CameraCenterY()" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -874,7 +886,7 @@ }, "parameters": [ "Enemy", - "TopDown_Character", + "Player", "100", "0" ] @@ -885,14 +897,26 @@ }, "parameters": [ "Enemy", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", + "Player.CenterX()", + "Player.CenterY()", "0", "" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Player movement" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -929,7 +953,7 @@ "value": "RotateTowardPosition" }, "parameters": [ - "TopDown_Character", + "Player", "CursorX()", "CursorY()", "0", @@ -941,12 +965,12 @@ "value": "FireBullet::FireBullet::Fire" }, "parameters": [ - "TopDown_Character", + "Player", "FireBullet", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", - "Bullet", - "TopDown_Character.Angle()", + "Player.CenterX()", + "Player.CenterY()", + "PlayerBullet", + "Player.Angle()", "400", "300" ] @@ -972,7 +996,7 @@ "value": "RotateTowardAngle" }, "parameters": [ - "TopDown_Character", + "Player", "SpriteMultitouchJoystick::StickAngle(2, \"Secondary\")", "0", "0" @@ -983,18 +1007,30 @@ "value": "FireBullet::FireBullet::Fire" }, "parameters": [ - "TopDown_Character", + "Player", "FireBullet", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", - "Bullet", - "TopDown_Character.Angle()", + "Player.CenterX()", + "Player.CenterY()", + "PlayerBullet", + "Player.Angle()", "400", "300" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Health management" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1003,7 +1039,7 @@ "value": "CollisionNP" }, "parameters": [ - "Bullet", + "PlayerBullet", "Enemy", "", "", @@ -1028,7 +1064,7 @@ "value": "Delete" }, "parameters": [ - "Bullet", + "PlayerBullet", "" ] } @@ -1069,7 +1105,7 @@ "value": "CollisionNP" }, "parameters": [ - "TopDown_Character", + "Player", "Enemy", "", "", diff --git a/examples/starting-vampire-survivor/README.md b/examples/starting-vampire-survivor/README.md index 86be76ddb..2d3268062 100644 --- a/examples/starting-vampire-survivor/README.md +++ b/examples/starting-vampire-survivor/README.md @@ -1,5 +1,4 @@ # Vampire Survivors-like game -A 2D, top-down, game where the player can move around and automatically fires bullets toward enemies who are moving toward them. -This is similar to casual survival games like Vampire Survivors. -Support for both mobile controls and keyboard. +A 2D vampire survivors-style game with an angled top down camera that follows the player, where the player can move freely along the X and Y axis. Enemies spawn off-screen around the player and continuously move toward them. When enemies get within range, the player automatically fires bullets at them. Enemies take three hits to be destroyed, and the player dies if they collide with an enemy. The game supports keyboard and mobile touch controls. + diff --git a/examples/starting-vampire-survivor/starting-vampire-survivor.json b/examples/starting-vampire-survivor/starting-vampire-survivor.json index a0751e07b..7469affca 100644 --- a/examples/starting-vampire-survivor/starting-vampire-survivor.json +++ b/examples/starting-vampire-survivor/starting-vampire-survivor.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 239, + "build": 245, "major": 5, "minor": 5, "revision": 0 @@ -19,7 +19,7 @@ "sizeOnStartupMode": "", "templateSlug": "starting-top-down", "version": "1.0.0", - "name": "starting_vampiresurvivor", + "name": "starting-vampire-survivor", "description": "", "author": "", "windowWidth": 1280, @@ -178,7 +178,8 @@ "gridAlpha": 0.8, "snap": false, "zoomFactor": 0.5468750000000022, - "windowMask": false + "windowMask": false, + "selectedLayer": "" }, "objectsGroups": [], "variables": [], @@ -189,7 +190,7 @@ "height": 0, "keepRatio": true, "layer": "", - "name": "TopDown_Character", + "name": "Player", "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", "width": 0, "x": 608, @@ -206,7 +207,7 @@ "keepRatio": true, "layer": "MobileControls", "locked": true, - "name": "Joystick", + "name": "MoveJoystick", "persistentUuid": "b0c31bb4-0add-4dda-9367-c5136e4b118d", "width": 0, "x": 176, @@ -224,7 +225,7 @@ "keepRatio": true, "layer": "Background", "locked": true, - "name": "Background", + "name": "RepeatingBackground", "persistentUuid": "f454010e-3716-4d3a-9164-74c7e450b60f", "width": 1280, "x": 0, @@ -239,7 +240,7 @@ { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "TopDown_Character", + "name": "Player", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -404,7 +405,7 @@ }, { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "Joystick", + "name": "MoveJoystick", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -489,7 +490,7 @@ { "assetStoreId": "", "height": 352, - "name": "Background", + "name": "RepeatingBackground", "texture": "assets\\StartingTiledGround.png", "type": "TiledSpriteObject::TiledSprite", "width": 640, @@ -566,7 +567,7 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Bullet", + "name": "PlayerBullet", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -634,22 +635,22 @@ "folderName": "__ROOT", "children": [ { - "objectName": "TopDown_Character" + "objectName": "Player" }, { "objectName": "Enemy" }, { - "objectName": "Bullet" + "objectName": "PlayerBullet" }, { - "objectName": "Background" + "objectName": "RepeatingBackground" }, { "folderName": "Mobile Controls", "children": [ { - "objectName": "Joystick" + "objectName": "MoveJoystick" } ] } @@ -680,6 +681,44 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "TiledSpriteObject::XOffset" + }, + "parameters": [ + "RepeatingBackground", + "=", + "CameraCenterX()" + ] + }, + { + "type": { + "value": "TiledSpriteObject::YOffset" + }, + "parameters": [ + "RepeatingBackground", + "=", + "CameraCenterY()" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Enemy logic" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -703,8 +742,8 @@ "parameters": [ "", "Enemy", - "TopDown_Character.X() + (RandomWithStep(-1,1,2) * SceneWindowWidth()/2)", - "TopDown_Character.Y() + (RandomWithStep(-1,1,2) * SceneWindowHeight()/2)", + "Player.X() + (RandomWithStep(-1, 1, 2) * SceneWindowWidth() / 2)", + "Player.Y() + (RandomWithStep(-1, 1, 2) * SceneWindowHeight() / 2)", "" ] }, @@ -719,32 +758,6 @@ } ] }, - { - "type": "BuiltinCommonInstructions::Standard", - "conditions": [], - "actions": [ - { - "type": { - "value": "TiledSpriteObject::XOffset" - }, - "parameters": [ - "Background", - "=", - "CameraCenterX()" - ] - }, - { - "type": { - "value": "TiledSpriteObject::YOffset" - }, - "parameters": [ - "Background", - "=", - "CameraCenterY()" - ] - } - ] - }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [], @@ -755,13 +768,25 @@ }, "parameters": [ "Enemy", - "TopDown_Character", + "Player", "100", "0" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Fire bullets" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -771,7 +796,7 @@ }, "parameters": [ "Enemy", - "TopDown_Character", + "Player", "500", "" ] @@ -782,8 +807,8 @@ }, "parameters": [ "Enemy", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", + "Player.CenterX()", + "Player.CenterY()", "" ] } @@ -794,11 +819,11 @@ "value": "FireBullet::FireBullet::FireTowardPosition" }, "parameters": [ - "TopDown_Character", + "Player", "FireBullet", - "TopDown_Character.CenterX()", - "TopDown_Character.CenterY()", - "Bullet", + "Player.CenterX()", + "Player.CenterY()", + "PlayerBullet", "Enemy.CenterX()", "Enemy.CenterY()", "300", @@ -815,7 +840,7 @@ "value": "CollisionNP" }, "parameters": [ - "Bullet", + "PlayerBullet", "Enemy", "", "", @@ -840,12 +865,24 @@ "value": "Delete" }, "parameters": [ - "Bullet", + "PlayerBullet", "" ] } ] }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Health management" + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -881,7 +918,7 @@ "value": "CollisionNP" }, "parameters": [ - "TopDown_Character", + "Player", "Enemy", "", "", @@ -4106,6 +4143,7 @@ "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "Property" }, { @@ -4119,9 +4157,15 @@ "type": "Choice", "label": "Joystick name", "group": "Controls", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -4656,6 +4700,7 @@ "extraInformation": [ "TopDownMovementBehavior::TopDownMovementBehavior" ], + "choices": [], "name": "TopDownMovement" }, { @@ -4668,9 +4713,15 @@ "value": "Primary", "type": "Choice", "label": "Joystick name", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -4679,10 +4730,19 @@ "type": "Choice", "label": "Stick mode", "group": "Controls", - "extraInformation": [ - "Analog", - "360°", - "8 Directions" + "choices": [ + { + "label": "Analog", + "value": "Analog" + }, + { + "label": "360°", + "value": "360°" + }, + { + "label": "8 Directions", + "value": "8 Directions" + } ], "name": "StickMode" } @@ -4807,6 +4867,7 @@ } ], "instances": [], + "editionSettings": {}, "eventsFunctions": [ { "fullName": "", @@ -5701,9 +5762,15 @@ "value": "Primary", "type": "Choice", "label": "Joystick name", - "extraInformation": [ - "Primary", - "Secondary" + "choices": [ + { + "label": "Primary", + "value": "Primary" + }, + { + "label": "Secondary", + "value": "Secondary" + } ], "name": "JoystickIdentifier" }, @@ -5722,6 +5789,7 @@ "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbAnchorOrigin" }, @@ -5741,6 +5809,7 @@ "extraInformation": [ "Thumb" ], + "choices": [], "hidden": true, "name": "ThumbIsScaledProportionally" }, @@ -10872,6 +10941,7 @@ "extraInformation": [ "PlatformBehavior::PlatformerObjectBehavior" ], + "choices": [], "name": "PlatformerCharacter" }, { @@ -10881,6 +10951,7 @@ "extraInformation": [ "SmoothCamera::SmoothCamera" ], + "choices": [], "name": "SmoothCamera" }, { @@ -15917,6 +15988,7 @@ "Linear", "Exponential" ], + "choices": [], "advanced": true, "name": "ExponentialCoolingRate" },