You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"Simulates swarms or flocks movement following the separation, alignment, cohesion principles. The flock can be attracted to a location or avoid some obstacles.",
"shortDescription": "Add support for gamepads (or other controllers) to your game, giving access to information such as button presses, axis positions, trigger pressure, etc...",
12
-
"version": "0.8.0",
12
+
"version": "0.8.1",
13
13
"description": [
14
14
"Add support for gamepads (or other controllers).",
"description": "This extension adds conditions to check if an object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.\n\nNote that this does not take into account any object visibility, such as being hidden or 0 opacity, but can be combined with those existing conditions.",
"shortDescription": "This adds a condition to detect if an object is on screen based off its current layer.",
13
-
"version": "1.2.1",
12
+
"version": "1.2.2",
13
+
"description": [
14
+
"This extension adds conditions to check if an object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.",
15
+
"",
16
+
"Note that this does not take into account any object visibility, such as being hidden or 0 opacity, but can be combined with those existing conditions."
17
+
],
18
+
"origin": {
19
+
"identifier": "IsOnScreen",
20
+
"name": "gdevelop-extension-store"
21
+
},
14
22
"tags": [
15
23
"is on screen",
16
24
"condition",
@@ -24,61 +32,88 @@
24
32
"gqDaZjCfevOOxBYkK6zlhtZnXCg1"
25
33
],
26
34
"dependencies": [],
35
+
"globalVariables": [],
36
+
"sceneVariables": [],
27
37
"eventsFunctions": [],
28
38
"eventsBasedBehaviors": [
29
39
{
30
40
"description": "This behavior provides a condition to check if the object is located within the visible portion of its layer's camera. The condition also allows for specifying padding to the virtual screen border.\nNote that object visibility, such as being hidden or 0 opacity, is not considered (but you can use those existing conditions in addition to this behavior).",
31
41
"fullName": "Is on screen",
32
42
"name": "InOnScreen",
33
43
"objectType": "",
44
+
"quickCustomizationVisibility": "hidden",
34
45
"eventsFunctions": [
35
46
{
36
47
"description": "Checks if an object position is within the viewport of its layer.",
37
48
"fullName": "Is on screen",
38
49
"functionType": "Condition",
39
50
"name": "IsOnScreen",
40
-
"private": false,
41
51
"sentence": "_PARAM0_ is on screen (padded by _PARAM2_ pixels)",
42
52
"events": [
43
53
{
44
-
"disabled": false,
45
-
"folded": false,
46
54
"type": "BuiltinCommonInstructions::JsCode",
47
-
"inlineCode": "/*\nGet the object layer, convert the position from this layer to the screen coordinates.\nGet the point on each side on the object on screen, and compare with the screen area.\n\nThis way even if the camera has a rotation or custom scale the object is always compared to the screen area.\n*/\n\n\n// Get the layer of the object.\nconst object = objects[0];\nconst layer = runtimeScene.getLayer(object.getLayer());\n\n// Get the aabb of the object on his layer.\nconst aabb = object.getVisibilityAABB();\n\n// Get the layer to convert the coordinates of the AABB to the screen coordinates\nconst topLeft = layer.convertInverseCoords(aabb.min[0], aabb.min[1]);\nconst topRight = layer.convertInverseCoords(aabb.max[0], aabb.min[1]);\nconst bottomRight = layer.convertInverseCoords(aabb.max[0], aabb.max[1]);\nconst bottomLeft = layer.convertInverseCoords(aabb.min[0], aabb.max[1]);\n\n// Get the points on each side of the object on screen.\nconst posLeftObjectOnScreen = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\nconst posRightObjectOnScreen = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\nconst posUpObjectOnScreen = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\nconst posDownObjectOnScreen = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n\nconst padding = eventsFunctionContext.getArgument(\"Padding\");\n\nif (\n !(posLeftObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionWidth() ||\n posUpObjectOnScreen - padding > runtimeScene.getGame().getGameResolutionHeight() ||\n posRightObjectOnScreen + padding < 0 ||\n posDownObjectOnScreen + padding < 0\n )\n) {\n eventsFunctionContext.returnValue = true;\n}\n",
55
+
"inlineCode": [
56
+
"/*",
57
+
"Get the object layer, convert the position from this layer to the screen coordinates.",
58
+
"Get the point on each side on the object on screen, and compare with the screen area.",
59
+
"",
60
+
"This way even if the camera has a rotation or custom scale the object is always compared to the screen area.",
"longDescription": "Number of pixels to pad the screen border. Zero by default. A negative value goes inside the screen, a positive value go outside.",
Copy file name to clipboardExpand all lines: extensions/reviewed/PhysicsCar3DKeyMapper.json
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@
9
9
"name": "PhysicsCar3DKeyMapper",
10
10
"previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Glyphster Pack/Master/SVG/Computers and Hardware/3e5871434a72821bf3ecb44a6857e62a438cf23dc8f95966f56ae97e95315468_Computers and Hardware_keyboard.svg",
11
11
"shortDescription": "3D car keyboard controls.",
12
-
"version": "1.0.0",
12
+
"version": "1.0.1",
13
13
"description": "3D physics car keyboard controls.",
0 commit comments