diff --git a/Pixels Composer.yyp b/Pixels Composer.yyp index b74b27b10..67d94aeb7 100644 --- a/Pixels Composer.yyp +++ b/Pixels Composer.yyp @@ -517,6 +517,7 @@ {"id":{"name":"f_p1","path":"fonts/f_p1/f_p1.yy",},"order":1,}, {"id":{"name":"s_button_left","path":"sprites/s_button_left/s_button_left.yy",},"order":5,}, {"id":{"name":"curve_bezier_function","path":"scripts/curve_bezier_function/curve_bezier_function.yy",},"order":0,}, + {"id":{"name":"draw_line_dashed","path":"scripts/draw_line_dashed/draw_line_dashed.yy",},"order":7,}, {"id":{"name":"s_node_glow","path":"sprites/s_node_glow/s_node_glow.yy",},"order":46,}, {"id":{"name":"regex","path":"scripts/regex/regex.yy",},"order":0,}, {"id":{"name":"node_invert","path":"scripts/node_invert/node_invert.yy",},"order":41,}, @@ -588,7 +589,6 @@ ], "isDnDProject": false, "isEcma": false, - "tutorialPath": "", "configs": { "name": "Default", "children": [], @@ -723,13 +723,21 @@ {"CopyToMask":-1,"filePath":"datafiles/ImageMagick","resourceVersion":"1.0","name":"NOTICE.txt","resourceType":"GMIncludedFile",}, {"CopyToMask":-1,"filePath":"datafiles/ImageMagick","resourceVersion":"1.0","name":"policy.xml","resourceType":"GMIncludedFile",}, {"CopyToMask":-1,"filePath":"datafiles","resourceVersion":"1.0","name":"Collections.zip","resourceType":"GMIncludedFile",}, - {"CopyToMask":-1,"filePath":"datafiles/Sample Projects","resourceVersion":"1.0","name":"0 introduction.pxc","resourceType":"GMIncludedFile",}, - {"CopyToMask":-1,"filePath":"datafiles/Sample Projects","resourceVersion":"1.0","name":"1 image import.pxc","resourceType":"GMIncludedFile",}, - {"CopyToMask":-1,"filePath":"datafiles/Sample Projects","resourceVersion":"1.0","name":"2 animation.pxc","resourceType":"GMIncludedFile",}, - {"CopyToMask":-1,"filePath":"datafiles/Sample Projects","resourceVersion":"1.0","name":"3 Group and collection.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"0 introduction.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"1 image import.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"3 Group and collection.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"5 Particle and effectors.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"4 Looping operation.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"2 animation.pxc","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"5 Particle and effectors.png","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"2 animation.png","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"1 image import.png","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"0 introduction.png","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"3 Group and collection.png","resourceType":"GMIncludedFile",}, + {"CopyToMask":-1,"filePath":"datafiles/Getting started","resourceVersion":"1.0","name":"4 Looping operation.png","resourceType":"GMIncludedFile",}, ], "MetaData": { - "IDEVersion": "2.3.7.606", + "IDEVersion": "2022.1.0.609", }, "resourceVersion": "1.4", "name": "Pixels Composer", diff --git a/datafiles/Getting started/0 introduction.png b/datafiles/Getting started/0 introduction.png new file mode 100644 index 000000000..005c06618 Binary files /dev/null and b/datafiles/Getting started/0 introduction.png differ diff --git a/datafiles/Getting started/0 introduction.pxc b/datafiles/Getting started/0 introduction.pxc new file mode 100644 index 000000000..8d988e3c5 --- /dev/null +++ b/datafiles/Getting started/0 introduction.pxc @@ -0,0 +1 @@ +{ "nodes": [ { "group": -1.0, "x": 224.0, "id": 733659073.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Outline", "y": -160.0, "name": "Outline" }, { "group": -1.0, "x": 384.0, "id": 16512342.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " on a node to preview it ( will appear)", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" }, { "group": -1.0, "x": -160.0, "id": 440563485.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Each node comes with junctions. Juntion on the left is input, right is output. The color represent its' data type.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 400.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 32.0, "name": "Display text" }, { "group": -1.0, "x": -320.0, "id": 308341973.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 16.0, 16.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": 0.0, "name": "Shape" }, { "group": -1.0, "x": 64.0, "id": 629359290.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To remove a connection, on the input junction", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 820286206.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " (or + ) to pan around", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Use to select, move modes", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": 544.0, "id": 846782664.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Or you can use export node, which allow you to save multiple images, or animation", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 128.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 445759436.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " on empty space to add node", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" }, { "group": -1.0, "x": 384.0, "id": 413298552.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " on a node to inspect it ( will appear)", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Getting started 0: basic control", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": 544.0, "id": 229004945.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To save an image, you can on the preview panel", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -160.0, "id": 9120082.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " from one junction to another to create connection", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 96.0, "name": "Display text" }, { "group": -1.0, "x": 384.0, "id": 31770096.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "%d%n", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.020000000000000000416333634234434, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Export", "y": 32.0, "name": "Export" }, { "group": -1.0, "x": -416.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": -1.0, "x": 384.0, "id": 948455280.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can inspect and preview a node", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": 576.0, "id": 316393662.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "and choose \"save current preview as...\"", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 96.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Getting started/1 image import.png b/datafiles/Getting started/1 image import.png new file mode 100644 index 000000000..07084336d Binary files /dev/null and b/datafiles/Getting started/1 image import.png differ diff --git a/datafiles/Getting started/1 image import.pxc b/datafiles/Getting started/1 image import.pxc new file mode 100644 index 000000000..68686cba2 --- /dev/null +++ b/datafiles/Getting started/1 image import.pxc @@ -0,0 +1 @@ +{ "nodes": [ { "group": -1.0, "x": 32.0, "id": 935260331.0, "inputs": [ { "from node": 196481718.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.5, 0.5 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.5, 0.5 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Transform", "y": 288.0, "name": "Transform" }, { "group": -1.0, "x": 736.0, "id": 296836700.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To export image array. Use export node. Connect path data, and change the template.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 350.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 320.0, "name": "Display text" }, { "group": -1.0, "x": 192.0, "id": 635100708.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Image array is a feature in Pixel Composer that allow you to edit multiple images at once.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 350.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 352.0, "name": "Display text" }, { "group": -1.0, "x": -384.0, "id": 303101688.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "arrowRight.png", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0, 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Image", "y": 0.0, "name": "arrowRight" }, { "group": -1.0, "x": -416.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can simply drag image file(s) into graph panel to import. There're different types of image node.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 400.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": 576.0, "id": 323839184.0, "inputs": [ { "from node": 935260331.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": 196481718.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "%d%n edited", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.020000000000000000416333634234434, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Export", "y": 288.0, "name": "Export" }, { "group": -1.0, "x": 192.0, "id": 168958151.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Preview this node to see the array content", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 416.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Getting started 1: image import", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": 128.0, "id": 23159585.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Animation (press to play)", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" }, { "group": -1.0, "x": 480.0, "id": 649987925.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Node with symbol will not update by itself", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 256.0, "name": "Display text" }, { "group": -1.0, "x": 128.0, "id": 509856334.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ "dice_1.png", "dice_2.png", "dice_3.png", "dice_4.png", "dice_5.png", "dice_6.png" ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0, 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Image_Animated", "y": 0.0, "name": "dice_6" }, { "group": -1.0, "x": 736.0, "id": 280269363.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Then press in the inspector to start export", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 384.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 196481718.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ "card_clubs_02.png", "card_clubs_03.png", "card_clubs_04.png", "card_clubs_05.png" ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0, 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Image_Sequence", "y": 0.0, "name": "card_clubs_05" }, { "group": -1.0, "x": -416.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": -1.0, "x": -384.0, "id": 117256603.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Single image", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 341819411.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Image array (notice the different junction)", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 765870404.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "When dragging in multiple images, a pop up will shows for you to choose what type of node you want to import", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 400.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 192.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Getting started/2 animation.png b/datafiles/Getting started/2 animation.png new file mode 100644 index 000000000..c192f9041 Binary files /dev/null and b/datafiles/Getting started/2 animation.png differ diff --git a/datafiles/Getting started/2 animation.pxc b/datafiles/Getting started/2 animation.pxc new file mode 100644 index 000000000..c83be5f59 --- /dev/null +++ b/datafiles/Getting started/2 animation.pxc @@ -0,0 +1 @@ +{ "nodes": [ { "group": -1.0, "x": 0.0, "id": 867413513.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " Ping-pong keyframe", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 352.0, "name": "Display text" }, { "group": -1.0, "x": 384.0, "id": 910768180.0, "inputs": [ { "from node": 527307449.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "%d%n%3f", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.020000000000000000416333634234434, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Export", "y": 32.0, "name": "Export" }, { "group": -1.0, "x": -384.0, "id": 308341973.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 16.0, 16.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": 32.0, "name": "Shape" }, { "group": -1.0, "x": -416.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "(Almost) Every values in Pixel Composer can be animated by pressing icon in front of its name", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": -32.0, "id": 568010614.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Click show graph to display curve", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 128.0, "name": "Display text" }, { "group": -1.0, "x": 544.0, "id": 422588735.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Lastly, you can export animation as a image sequence of .gif using export node.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 400.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 68195840.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To change animation length, speed go to animation setting at the timeline", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" }, { "group": -1.0, "x": 0.0, "id": 514451189.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " Loop keyframe", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 320.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Getting started 2: Animation", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 308674514.0, "inputs": [ { "from node": 308341973.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.5, 0.5 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 1.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ], [ 6.0, [ 0.5, 0.5 ], 0.0, 0.0 ] ], "anim": 1.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Transform", "y": 224.0, "name": "Transform" }, { "group": -1.0, "x": 0.0, "id": 877172652.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " Animation stop after the last keyframe", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 288.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 4741659.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Timeline panel below will show all animating values.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 527307449.0, "inputs": [ { "from node": 308341973.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ], [ 4.0, [ 0.0, 15.27368450164794921875 ], 0.0, 0.0 ], [ 12.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 1.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Transform", "y": 32.0, "name": "Transform" }, { "group": -1.0, "x": -32.0, "id": 829295007.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To change easing curve. the keyframe and drag your mouse left or right", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 360.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": -1.0, "x": -32.0, "id": 944382448.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can also make the animation loop after it finished by on , , ", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 350.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 224.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 131274879.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Press to start, stop animation", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 24.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Getting started/3 Group and collection.png b/datafiles/Getting started/3 Group and collection.png new file mode 100644 index 000000000..e016e67b8 Binary files /dev/null and b/datafiles/Getting started/3 Group and collection.png differ diff --git a/datafiles/Getting started/3 Group and collection.pxc b/datafiles/Getting started/3 Group and collection.pxc new file mode 100644 index 000000000..baf24ec1b --- /dev/null +++ b/datafiles/Getting started/3 Group and collection.pxc @@ -0,0 +1 @@ +{ "nodes": [ { "group": -1.0, "x": -416.0, "id": 336695487.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Creating group using add node menu, or by pressing while selecing nodes.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": 159990102.0, "x": -384.0, "id": 967638721.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "A new tab will appear in add node menu allowing you to create input and output nodes.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": 159990102.0, "x": 256.0, "id": 735317147.0, "inputs": [ { "from node": 409112572.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Group_Output", "y": -32.0, "name": "Output" }, { "group": 159990102.0, "x": -384.0, "id": 65640854.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can change the name of the node, which will change the name of the junction.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 360.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": 320.0, "id": 431503459.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Collection will also appear when you search for node in add node menu.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -160.0, "name": "Display text" }, { "group": -1.0, "x": 288.0, "id": 790378713.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Navigate folder, then drag and drop the node you want into the graph panel.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": 288.0, "id": 264983354.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "A collection is a saved node (or node group) that can be reuse in other projects.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": 159990102.0, "x": -384.0, "id": 937443343.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "These nodes connected to junctions outside", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 32.0, "name": "Display text" }, { "group": 159990102.0, "x": -384.0, "id": 963603723.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "When in group, context menu will appear. on the word \"Global\" will exit group view.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -160.0, "name": "Display text" }, { "group": -1.0, "x": 288.0, "id": 371323482.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Collections", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -256.0, "name": "Display text" }, { "group": -1.0, "x": 0.0, "id": 497274839.0, "inputs": [ { "from node": 159990102.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Transform", "y": 0.0, "name": "Group me" }, { "group": -1.0, "x": -416.0, "id": 585900051.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, " on group to see the content inside.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can combine multiple nodes into one using group", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": 159990102.0, "x": 32.0, "id": 409112572.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 32.0, 32.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": 60797312.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": -32.0, "name": "Shape" }, { "group": -1.0, "x": 320.0, "id": 655180278.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "The curent image in preview panel will become thumbnail of the collection.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Getting started 3: Group and collection ", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -288.0, "id": 159990102.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Group", "y": 0.0, "name": "Group" }, { "group": 606530369.0, "x": -160.0, "id": 488435515.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 4.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Group_Input", "y": -64.0, "name": "Input" }, { "group": -1.0, "x": 512.0, "id": 606530369.0, "inputs": [ { "from node": 491998345.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 } ], "attri": { }, "type": "Node_Group", "y": 0.0, "name": "Group" }, { "group": -1.0, "x": 288.0, "id": 600235321.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can create a collection using the button. ", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": 512.0, "id": 268941157.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can ungroup by on a group and select \"Ungroup\".", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 350.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": 606530369.0, "x": 32.0, "id": 408871108.0, "inputs": [ { "from node": 488435515.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Blur", "y": -64.0, "name": "Blur" }, { "group": -1.0, "x": -416.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": 159990102.0, "x": -384.0, "id": 60797312.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Group_Input", "y": -32.0, "name": "Change name" }, { "group": -1.0, "x": 256.0, "id": 491998345.0, "inputs": [ { "from node": 497274839.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Outline", "y": 0.0, "name": "Outline" }, { "group": -1.0, "x": 0.0, "id": 493962456.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Grouping nodes with connections will automatically generate in-output nodes.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 360.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 192.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Getting started/4 Looping operation.png b/datafiles/Getting started/4 Looping operation.png new file mode 100644 index 000000000..e609d37e0 Binary files /dev/null and b/datafiles/Getting started/4 Looping operation.png differ diff --git a/datafiles/Getting started/4 Looping operation.pxc b/datafiles/Getting started/4 Looping operation.pxc new file mode 100644 index 000000000..711527b0c --- /dev/null +++ b/datafiles/Getting started/4 Looping operation.pxc @@ -0,0 +1 @@ +{ "nodes": [ { "group": -1.0, "x": 160.0, "id": 710959498.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 9.043478260869564522295149799902, 8.956521739130435477704850200098, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": -32.0, "name": "Shape" }, { "group": 171652176.0, "x": -320.0, "id": 870229182.0, "inputs": [ ], "attri": { }, "type": "Node_Iterator_Index", "y": 64.0, "name": "Index" }, { "group": -1.0, "x": -416.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Looping allows you to repeat the same operation multiple times with slight variation.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": 171652176.0, "x": -320.0, "id": 794727501.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 4.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Iterator_Input", "y": -96.0, "name": "Input" }, { "group": 171652176.0, "x": -160.0, "id": 265354093.0, "inputs": [ { "from node": 252000456.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": 870229182.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Array_Get", "y": 32.0, "name": "Array Get" }, { "group": 130818950.0, "x": -256.0, "id": 987418939.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Iterator_Input", "y": -64.0, "name": "Input" }, { "group": 171652176.0, "x": -352.0, "id": 869049526.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Another node used in loop is index. Index node output the current loop index. This can be use to get value in array", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 450.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 128.0, "name": "Display text" }, { "group": 130818950.0, "x": 192.0, "id": 787085982.0, "inputs": [ { "from node": 331368383.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": 987418939.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 1.0 } ], "attri": { }, "type": "Node_Iterator_Output", "y": -64.0, "name": "Output" }, { "group": -1.0, "x": -416.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Getting started 4: Looping ", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 628179710.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "The only property in loop node defines how many times you want to loop.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 300.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" }, { "group": 130818950.0, "x": -320.0, "id": 797189508.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Loop in-output have one special junction. This junction define which data to reuse in each loop.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": -352.0, "id": 130818950.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Iterate", "y": -32.0, "name": "Loop" }, { "group": 171652176.0, "x": 256.0, "id": 217889613.0, "inputs": [ { "from node": 400135540.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": 794727501.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 1.0 } ], "attri": { }, "type": "Node_Iterator_Output", "y": -96.0, "name": "Output" }, { "group": 130818950.0, "x": -288.0, "id": 551539294.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "In this example, in each loop it will add value by 1. And use that value as a input in the next loop.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 128.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 741389209.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Rendering with loop can be unstable, try press multiple times until it output properly", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 400.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -416.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": 171652176.0, "x": -320.0, "id": 252000456.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 15726075.0, 11260914.0, 10854342.0, 10251659.0, 8277321.0, 4466471.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Palette", "y": 0.0, "name": "Palette" }, { "group": 171652176.0, "x": 0.0, "id": 400135540.0, "inputs": [ { "from node": 794727501.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 4.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": 265354093.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Outline", "y": -96.0, "name": "Outline" }, { "group": -1.0, "x": -416.0, "id": 714226318.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "This can be done using loop node. Which works similiar to group.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": 320.0, "id": 171652176.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 5.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": 710959498.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 } ], "attri": { }, "type": "Node_Iterate", "y": -32.0, "name": "Loop" }, { "group": 130818950.0, "x": -32.0, "id": 331368383.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": 987418939.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Math", "y": 32.0, "name": "Math" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Getting started/5 Particle and effectors.png b/datafiles/Getting started/5 Particle and effectors.png new file mode 100644 index 000000000..5548e5ffd Binary files /dev/null and b/datafiles/Getting started/5 Particle and effectors.png differ diff --git a/datafiles/Getting started/5 Particle and effectors.pxc b/datafiles/Getting started/5 Particle and effectors.pxc new file mode 100644 index 000000000..0885185c6 --- /dev/null +++ b/datafiles/Getting started/5 Particle and effectors.pxc @@ -0,0 +1 @@ +{ "nodes": [ { "group": -1.0, "x": -416.0, "id": 899910864.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Press to start a simulation.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -288.0, "id": 406135373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "There are a lot of properties that control particle spawning, movement, etc.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 160.0, "name": "Display text" }, { "group": -1.0, "x": -288.0, "id": 254863834.0, "inputs": [ { "from node": 930439119.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 4.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 32.0, 32.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 20.0, 30.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 45.0, 135.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0, 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ 0.0 ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0, 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 2.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 291.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Particle", "y": -32.0, "name": "Particle" }, { "group": -1.0, "x": -416.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Particle is one of a node in Pixel Composer which allow you to simulate particle effect.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": 160.0, "id": 216943566.0, "inputs": [ { "from node": 254863834.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 30.956521739130437254061689600348, 17.217391304347827940546267200261, 32.869565217391304656757711200044, 15.217391304347826164189427800011, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0, 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 4.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ -2.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Particle_Effector", "y": -32.0, "name": "Effector" }, { "group": -1.0, "x": -416.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Getting started 5: Particle and effectors", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": 288.0, "id": 569002150.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can apply multiple effects by chaining particle data to multiple effectors.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 300.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -480.0, "id": 930439119.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 8.0, 8.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 4.0, 4.0, 4.0, 4.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": -32.0, "name": "Shape" }, { "group": -1.0, "x": 160.0, "id": 611339757.0, "inputs": [ { "from node": 216943566.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, -1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": 0.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 39.130434782608695343242288799956, 38.260869565217390686484577599913, 23.304347826086956985136566800065, 23.21739130434782438783258839976, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0, 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 4.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ -1.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Particle_Effector", "y": 64.0, "name": "Effector" }, { "group": -1.0, "x": -416.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1000000.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": -1.0, "x": 288.0, "id": 887629234.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Particle effector node use the particle data from particle node and apply different force upon it.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 400.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Sample Projects/0 introduction.pxc b/datafiles/Sample Projects/0 introduction.pxc deleted file mode 100644 index 95eadf0f1..000000000 --- a/datafiles/Sample Projects/0 introduction.pxc +++ /dev/null @@ -1 +0,0 @@ -{ "nodes": [ { "group": -1.0, "x": 192.0, "id": 733659073.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Outline", "y": -160.0, "name": "Outline" }, { "group": -1.0, "x": 352.0, "id": 16512342.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Double click on a node to preview it (orange bubble)", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 440563485.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Each node comes with junctions", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 32.0, "name": "Display text" }, { "group": -1.0, "x": -352.0, "id": 308341973.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 16.0, 16.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": 0.0, "name": "Shape" }, { "group": -1.0, "x": 32.0, "id": 629359290.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To remove a connection, click once on the input junction", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 820286206.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Middle mouse (or ctrl + left mouse) to pan around", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Use left mouse to select, move modes", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": 640.0, "id": 846782664.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Or you can use export node, which allow you to save multiple images, or animation", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 288.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 445759436.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Right click on empty space to add node", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" }, { "group": -1.0, "x": 352.0, "id": 413298552.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Left click on a node to inspect it (green bubble will appear)", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 157161640.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Junctions on the left is input, right is output", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Sample project 0: basic control", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": 640.0, "id": 229004945.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "To save an image, you can right click on the preview panel", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 224.0, "name": "Display text" }, { "group": -1.0, "x": -192.0, "id": 9120082.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Click and drag from one junction to another to create connection", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 128.0, "name": "Display text" }, { "group": -1.0, "x": 480.0, "id": 31770096.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "%d%n", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.020000000000000000416333634234434, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Export", "y": 192.0, "name": "Export" }, { "group": -1.0, "x": -192.0, "id": 861790143.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "the color represent its' data type", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 96.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": -1.0, "x": 352.0, "id": 948455280.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You can inspect and preview a node", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": 672.0, "id": 316393662.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "and choose \"save current preview as...\"", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 256.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Sample Projects/1 image import.pxc b/datafiles/Sample Projects/1 image import.pxc deleted file mode 100644 index 0ff2ac001..000000000 --- a/datafiles/Sample Projects/1 image import.pxc +++ /dev/null @@ -1,1177 +0,0 @@ -{ - "nodes": [{ - "group": -1.0, - "x": 0.0, - "id": 935260331.0, - "inputs": [{ - "from node": 196481718.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 1.0, - "from index": 0.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [1.0, 1.0], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 1.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [32.0, 32.0], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [0.5, 0.5], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 1.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [0.5, 0.5], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 1.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Transform", - "y": 288.0, - "name": "Transform" - }, { - "group": -1.0, - "x": 704.0, - "id": 296836700.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "To export image array. Use export node,", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 320.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 160.0, - "id": 635100708.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Image array is a feature in Pixel Composer ", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 352.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -448.0, - "id": 524604531.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "there're different types of image node", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -96.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 704.0, - "id": 747812615.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "connect path data, and change the template ", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 352.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -416.0, - "id": 303101688.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "arrowRight.png", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [0.0, 0.0, 0.0, 0.0], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Image", - "y": 0.0, - "name": "arrowRight" - }, { - "group": -1.0, - "x": -448.0, - "id": 660826364.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "You can simply drag image file(s) into graph area to import ", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -128.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 544.0, - "id": 323839184.0, - "inputs": [{ - "from node": 935260331.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 1.0, - "from index": 0.0 - }, { - "from node": 196481718.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 1.0, - "from index": 1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "%d%n edited", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 1.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.020000000000000000416333634234434, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Export", - "y": 288.0, - "name": "Export" - }, { - "group": -1.0, - "x": 160.0, - "id": 168958151.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "preview this node to see the array content", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 416.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -448.0, - "id": 676613630.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Sample project 1: image import", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 1.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.5, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -192.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 96.0, - "id": 23159585.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Animation (press space to play)", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -32.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 448.0, - "id": 649987925.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Node with refresh symbol will not update by itself", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 256.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 96.0, - "id": 509856334.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, ["dice_1.png", "dice_2.png", "dice_3.png", "dice_4.png", "dice_5.png", "dice_6.png"], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [0.0, 0.0, 0.0, 0.0], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 1.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Image_Animated", - "y": 0.0, - "name": "dice_6" - }, { - "group": -1.0, - "x": 704.0, - "id": 280269363.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Then press refresh in the inspector to start export", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 384.0, - "name": "Display text" - }, { - "group": -1.0, - "x": 160.0, - "id": 617247868.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "That allow you to edit multiple images at once", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 384.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -224.0, - "id": 196481718.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, ["card_clubs_02.png", "card_clubs_03.png", "card_clubs_04.png", "card_clubs_05.png"], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, [0.0, 0.0, 0.0, 0.0], 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Image_Sequence", - "y": 0.0, - "name": "card_clubs_05" - }, { - "group": -1.0, - "x": -448.0, - "id": 593948373.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Welcome to Pixel Composer", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -224.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -416.0, - "id": 117256603.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Single image", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -32.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -224.0, - "id": 341819411.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "Image array (notice the different junction)", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": -32.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -224.0, - "id": 765870404.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "When dragging in multiple images", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 192.0, - "name": "Display text" - }, { - "group": -1.0, - "x": -224.0, - "id": 352554235.0, - "inputs": [{ - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 16777215.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, "a pop up will shows for you to choose what type of node you want to import", 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 2.0, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }, { - "from node": -1.0, - "on end": 0.0, - "data": [], - "raw value": [ - [0.0, 0.75, 0.0, 0.0] - ], - "anim": 0.0, - "visible": 0.0, - "from index": -1.0 - }], - "attri": {}, - "type": "Node_Display_Text", - "y": 224.0, - "name": "Display text" - }], - "version": 82.0, - "animator": { - "framerate": 15.0, - "frames_total": 12.0 - } -} \ No newline at end of file diff --git a/datafiles/Sample Projects/2 animation.pxc b/datafiles/Sample Projects/2 animation.pxc deleted file mode 100644 index 8857ce6ca..000000000 --- a/datafiles/Sample Projects/2 animation.pxc +++ /dev/null @@ -1 +0,0 @@ -{ "nodes": [ { "group": -1.0, "x": 352.0, "id": 910768180.0, "inputs": [ { "from node": 527307449.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": true, "from index": 0.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "%d%n%3f", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, true, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, false, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.020000000000000000416333634234434, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, false, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Export", "y": 32.0, "name": "Export" }, { "group": -1.0, "x": -416.0, "id": 308341973.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 16.0, 16.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": 32.0, "name": "Shape" }, { "group": -1.0, "x": -448.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "(Almost) Every values in Pixel Composer can be animated by pressing clock icon in front of its name", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": -64.0, "id": 568010614.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "Click show graph to display curve", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 128.0, "name": "Display text" }, { "group": -1.0, "x": 512.0, "id": 422588735.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "Lastly, you can export animation as a image sequence of .gif", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 68195840.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "To change animation length, speed go to animation setting at the right of the timeline", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -32.0, "name": "Display text" }, { "group": -1.0, "x": -32.0, "id": 943934915.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "and drag your mouse the the left or right", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 96.0, "name": "Display text" }, { "group": -1.0, "x": 512.0, "id": 869685224.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "using export node", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 96.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Sample project 2: Animation", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -224.0, "id": 308674514.0, "inputs": [ { "from node": 308341973.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": true, "from index": 0.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": false, "visible": true, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0 ], 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 0.5, 0.5 ], 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, true, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 1.0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ], [ 6.0, [ 0.5, 0.5 ], 0.0, 0.0 ] ], "anim": true, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, false, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, true, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, false, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Transform", "y": 224.0, "name": "Transform" }, { "group": -1.0, "x": -448.0, "id": 4741659.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Timeline panel below will show all animating values.", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -96.0, "name": "Display text" }, { "group": -1.0, "x": -224.0, "id": 527307449.0, "inputs": [ { "from node": 308341973.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": true, "from index": 0.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": false, "visible": true, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ], [ 4.0, [ 0.0, 15.27368450164794921875 ], 0.0, 0.0 ], [ 12.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": true, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, true, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, [ 1.0, 1.0 ], 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, false, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, true, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, false, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Transform", "y": 32.0, "name": "Transform" }, { "group": -1.0, "x": -64.0, "id": 829295007.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "To change easing curve. Double click the keyframe", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 64.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" }, { "group": -1.0, "x": -64.0, "id": 944382448.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "You can also make the animation loop after it finished", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": 256.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 131274879.0, "inputs": [ { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, "Press space to start, stop animation", 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 }, { "from node": -1.0, "on end": 0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": false, "visible": false, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -64.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 24.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/datafiles/Sample Projects/3 Group and collection.pxc b/datafiles/Sample Projects/3 Group and collection.pxc deleted file mode 100644 index bc4107e14..000000000 --- a/datafiles/Sample Projects/3 Group and collection.pxc +++ /dev/null @@ -1 +0,0 @@ -{ "nodes": [ { "group": -1.0, "x": -352.0, "id": 308341973.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 64.0, 64.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 1.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 32.0, 32.0, 16.0, 16.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 3.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, [ 0.0, 0.0 ], 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Shape", "y": 0.0, "name": "Shape" }, { "group": -1.0, "x": -448.0, "id": 660826364.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "You combine multiple nodes in to one using group", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 2.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -128.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 676613630.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Sample project 3: Group and collection ", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 1.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.5, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -192.0, "name": "Display text" }, { "group": -1.0, "x": -448.0, "id": 593948373.0, "inputs": [ { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 16777215.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, "Welcome to Pixel Composer", 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.0, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 }, { "from node": -1.0, "on end": 0.0, "data": [ ], "raw value": [ [ 0.0, 0.75, 0.0, 0.0 ] ], "anim": 0.0, "visible": 0.0, "from index": -1.0 } ], "attri": { }, "type": "Node_Display_Text", "y": -224.0, "name": "Display text" } ], "version": 82.0, "animator": { "framerate": 15.0, "frames_total": 12.0 } } \ No newline at end of file diff --git a/objects/o_dialog_add_node/Create_0.gml b/objects/o_dialog_add_node/Create_0.gml index 609fcb6b3..81833d04c 100644 --- a/objects/o_dialog_add_node/Create_0.gml +++ b/objects/o_dialog_add_node/Create_0.gml @@ -290,12 +290,26 @@ event_inherited(); else draw_sprite_stretched_ext(s_node_bg, 0, _boxx, yy, grid_size, grid_size, merge_color(c_white, c_ui_orange_light, 0.5), 1); - if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr)) - draw_sprite(_node.spr, current_time * PREF_MAP[? "collection_preview_speed"] / 3000, _boxx + grid_size / 2, yy + grid_size / 2); + if(variable_struct_exists(_node, "spr") && sprite_exists(_node.spr)) { + var _si = current_time * PREF_MAP[? "collection_preview_speed"] / 3000; + var _sw = sprite_get_width(_node.spr); + var _sh = sprite_get_height(_node.spr); + var _ss = 32 / max(_sw, _sh); + var _sox = sprite_get_xoffset(_node.spr); + var _soy = sprite_get_yoffset(_node.spr); + + var _sx = _boxx + grid_size / 2; + var _sy = yy + grid_size / 2; + _sx += _sw * _ss / 2 - _sox * _ss; + _sy += _sh * _ss / 2 - _soy * _ss; + + draw_sprite_ext(_node.spr, _si, _sx, _sy, _ss, _ss, 0, c_white, 1); + } + draw_set_text(f_p1, fa_center, fa_top, c_white); var txt = _node.name; - if(_param != "") txt += " (" + _param + ")"; + //if(_param != "") txt += " (" + _param + ")"; name_height = max(name_height, string_height_ext(txt, -1, grid_size) + 8); draw_text_ext(_boxx + grid_size / 2, yy + grid_size + 4, txt, -1, grid_width); diff --git a/objects/o_dialog_release_note/Create_0.gml b/objects/o_dialog_release_note/Create_0.gml index 142d684f0..7a72c0208 100644 --- a/objects/o_dialog_release_note/Create_0.gml +++ b/objects/o_dialog_release_note/Create_0.gml @@ -8,7 +8,7 @@ event_inherited(); note = ""; - var link = "https://gist.githubusercontent.com/Ttanasart-pt/e7ab670299ce6b00cfd632646f3ac9a8/raw/0.8.2"; + var link = "https://gist.githubusercontent.com/Ttanasart-pt/e7ab670299ce6b00cfd632646f3ac9a8/raw/0.9.0"; node_get = http_get(link); sp_note = new scrollPane(dialog_w - 80, dialog_h - 88, function(_y, _m) { diff --git a/objects/o_dialog_splash/Create_0.gml b/objects/o_dialog_splash/Create_0.gml index eedd287fb..f37ab9836 100644 --- a/objects/o_dialog_splash/Create_0.gml +++ b/objects/o_dialog_splash/Create_0.gml @@ -83,13 +83,24 @@ event_inherited(); if(_node.spr) draw_sprite(_node.spr, 0, _boxx + grid_width / 2, yy + grid_heigh / 2); - + + var tx = _boxx + grid_width / 2; + var ty = yy + grid_heigh + 6; + draw_set_text(f_p2, fa_center, fa_top, c_ui_blue_dkgrey); + var _tw = string_width(_node.tag); + var _th = string_height(_node.tag); + + draw_set_color(c_ui_blue_mdblack); + draw_roundrect_ext(tx - _tw / 2 - 6, ty - 2, tx + _tw / 2 + 6, ty + _th, 8, 8, 0); + draw_set_color(_node.tag == "Getting started"? c_ui_orange_light : c_ui_blue_grey); + draw_text(tx, ty, _node.tag); + draw_set_text(f_p1, fa_center, fa_top, c_white); name_height = max(name_height, string_height_ext(_node.name, -1, grid_width) + 8); - draw_text_ext(_boxx + grid_width / 2, yy + grid_heigh + 4, _node.name, -1, grid_width); + draw_text_ext(tx, ty + 20, _node.name, -1, grid_width); } } - var hght = grid_heigh + grid_space + name_height; + var hght = grid_heigh + grid_space + name_height + 20; hh += hght; yy += hght; } diff --git a/objects/o_main/Alarm_3.gml b/objects/o_main/Alarm_3.gml index 2880b7c94..f5279c18b 100644 --- a/objects/o_main/Alarm_3.gml +++ b/objects/o_main/Alarm_3.gml @@ -5,6 +5,6 @@ if(PANEL_GRAPH.dropFile(file_dropping)) { renderAll(); } else - load_file_path(file_dropping); + load_file_path(file_dropping, true); file_dropping = ""; #endregion diff --git a/objects/o_main/Create_0.gml b/objects/o_main/Create_0.gml index 31f0ecab6..065ad992e 100644 --- a/objects/o_main/Create_0.gml +++ b/objects/o_main/Create_0.gml @@ -12,7 +12,7 @@ file_text_close(f); #endregion -display_reset(8, 1); +//display_reset(8, 1); #region window depth = 0; @@ -68,7 +68,7 @@ display_reset(8, 1); file_dnd_allowdirs = true; file_dnd_allowmulti = true; - function load_file_path(path) { + function load_file_path(path, _new = false) { if(string_pos("\n", path) == 1) path = string_replace(path, "\n", ""); var is_multi = string_pos("\n", path) != 0 || directory_exists(path); @@ -92,6 +92,7 @@ display_reset(8, 1); break; case ".json" : case ".pxc" : + if(_new) NEW(); LOAD_PATH(path); break; } diff --git a/options/main/options_main.yy b/options/main/options_main.yy index adf92cc85..390ccbc25 100644 --- a/options/main/options_main.yy +++ b/options/main/options_main.yy @@ -1,5 +1,6 @@ { "option_gameguid": "e9b3db08-0894-4037-ab08-a13723151e39", + "option_gameid": "0", "option_game_speed": 60, "option_mips_for_3d_textures": false, "option_draw_colour": 4294967295, @@ -7,9 +8,13 @@ "option_steam_app_id": "0", "option_sci_usesci": true, "option_author": "", + "option_collision_compatibility": true, "option_lastchanged": "02 July 2021 15:58:28", "option_spine_licence": false, - "resourceVersion": "1.2", + "option_template_image": "${base_options_dir}/main/template_image.png", + "option_template_icon": "${base_options_dir}/main/template_icon.png", + "option_template_description": null, + "resourceVersion": "1.3", "name": "Main", "tags": [], "resourceType": "GMMainOptions", diff --git a/scripts/append_function/append_function.gml b/scripts/append_function/append_function.gml index 81d3557b0..0dd122c35 100644 --- a/scripts/append_function/append_function.gml +++ b/scripts/append_function/append_function.gml @@ -34,7 +34,6 @@ function APPEND(_path) { var _node = nodeLoad(_node_list[| i], true); if(_node) ds_list_add(appended_list, _node); } - ds_map_destroy(_map); file_text_close(file); for(var i = 0; i < ds_list_size(appended_list); i++) { @@ -91,6 +90,7 @@ function APPEND(_path) { log_message("FILE", "append file " + _path); PANEL_MENU.showNoti("Collection loaded", s_noti_icon_file_load); + ds_map_destroy(_map); return node_create; } diff --git a/scripts/draw_line_curve/draw_line_curve.gml b/scripts/draw_line_curve/draw_line_curve.gml index 73bd855bf..070217652 100644 --- a/scripts/draw_line_curve/draw_line_curve.gml +++ b/scripts/draw_line_curve/draw_line_curve.gml @@ -1,3 +1,8 @@ +enum LINE_STYLE { + solid, + dashed +} + function draw_line_curve(x0, y0, x1, y1, thick = 1) { var xc = (x0 + x1) / 2; var sample = max(8, ceil((abs(x0 - x1) + abs(y0 - y1)) / 4)); @@ -30,12 +35,13 @@ function draw_line_curve(x0, y0, x1, y1, thick = 1) { //buffer_delete(buff); } -function draw_line_curve_color(x0, y0, x1, y1, thick = 1, col1, col2) { +function draw_line_curve_color(x0, y0, x1, y1, thick, col1, col2, type = LINE_STYLE.solid) { var xc = (x0 + x1) / 2; var sample = max(8, ceil((abs(x0 - x1) + abs(y0 - y1)) / 4)); var c = draw_get_color(); var ox, oy, nx, ny, t, it, oc, nc; + var dash_distance = 2; for( var i = 0; i <= sample; i++ ) { t = i / sample; @@ -46,7 +52,15 @@ function draw_line_curve_color(x0, y0, x1, y1, thick = 1, col1, col2) { nc = merge_color(col1, col2, t); if(i) { - draw_line_width_color(ox, oy, nx, ny, thick, oc, nc); + switch(type) { + case LINE_STYLE.solid : + draw_line_width_color(ox, oy, nx, ny, thick, oc, nc); + break; + case LINE_STYLE.dashed : + if(floor(i / dash_distance) % 2) + draw_line_width_color(ox, oy, nx, ny, thick, oc, nc); + break; + } } ox = nx; diff --git a/scripts/draw_line_dashed/draw_line_dashed.gml b/scripts/draw_line_dashed/draw_line_dashed.gml new file mode 100644 index 000000000..991497dd6 --- /dev/null +++ b/scripts/draw_line_dashed/draw_line_dashed.gml @@ -0,0 +1,26 @@ +function draw_line_dashed(x0, y0, x1, y1, th, c0, c1, dash_distance = 8) { + var dis = point_distance(x0, y0, x1, y1); + var dir = point_direction(x0, y0, x1, y1); + var part = ceil(dis / dash_distance); + + var dx = lengthdir_x(1, dir); + var dy = lengthdir_y(1, dir); + + var ox, oy, nx, ny, oc, nc; + var dd = 0; + + for( var i = 0; i <= part; i++ ) { + dd = min(dis, i * dash_distance); + nx = x0 + dx * dd; + ny = y0 + dy * dd; + nc = merge_color(c0, c1, i / part); + + if(i && i % 2) { + draw_line_width_color(ox, oy, nx, ny, th, oc, nc); + } + + oc = nc; + ox = nx; + oy = ny; + } +} \ No newline at end of file diff --git a/scripts/draw_line_dashed/draw_line_dashed.yy b/scripts/draw_line_dashed/draw_line_dashed.yy new file mode 100644 index 000000000..c36359835 --- /dev/null +++ b/scripts/draw_line_dashed/draw_line_dashed.yy @@ -0,0 +1,12 @@ +{ + "isDnD": false, + "isCompatibility": false, + "parent": { + "name": "draw", + "path": "folders/functions/draw.yy", + }, + "resourceVersion": "1.0", + "name": "draw_line_dashed", + "tags": [], + "resourceType": "GMScript", +} \ No newline at end of file diff --git a/scripts/draw_line_round/draw_line_round.gml b/scripts/draw_line_round/draw_line_round.gml index 05a6701bc..97a3f78ca 100644 --- a/scripts/draw_line_round/draw_line_round.gml +++ b/scripts/draw_line_round/draw_line_round.gml @@ -3,4 +3,5 @@ function draw_line_round(x1, y1, x2, y2, w) { draw_circle(x1, y1, w/2, false); draw_circle(x2, y2, w/2, false); -} \ No newline at end of file +} + diff --git a/scripts/ds_map/ds_map.gml b/scripts/ds_map/ds_map.gml index 71346dda1..e030f12aa 100644 --- a/scripts/ds_map/ds_map.gml +++ b/scripts/ds_map/ds_map.gml @@ -4,6 +4,12 @@ function ds_map_try_get(map, key, def) { } function ds_map_override(original, newmap) { + if(is_undefined(original)) return; + if(!ds_exists(original, ds_type_map)) return; + + if(is_undefined(newmap)) return; + if(!ds_exists(newmap, ds_type_map)) return; + var k = ds_map_find_first(newmap); repeat(ds_map_size(newmap)) { diff --git a/scripts/globals/globals.gml b/scripts/globals/globals.gml index 1b9ad5148..0b043eae6 100644 --- a/scripts/globals/globals.gml +++ b/scripts/globals/globals.gml @@ -15,7 +15,7 @@ globalvar VERSION, SAVEFILE_VERSION, VERSION_STRING; VERSION = 90; - SAVEFILE_VERSION = 82; + SAVEFILE_VERSION = 90; VERSION_STRING = "0.9.0"; globalvar NODES, ANIMATOR, NODE_MAP, APPEND_MAP, HOTKEYS, HOTKEY_CONTEXT; diff --git a/scripts/load_function/load_function.gml b/scripts/load_function/load_function.gml index ab48c148d..326861193 100644 --- a/scripts/load_function/load_function.gml +++ b/scripts/load_function/load_function.gml @@ -63,7 +63,6 @@ function LOAD_PATH(path, readonly = false) { ANIMATOR.frames_total = _anim_map[? "frames_total"]; ANIMATOR.framerate = _anim_map[? "framerate"]; } - ds_map_destroy(_map); ds_queue_clear(CONNECTION_CONFLICT); @@ -116,5 +115,7 @@ function LOAD_PATH(path, readonly = false) { log_message("FILE", "load at " + path); PANEL_MENU.showNoti("File loaded", s_noti_icon_file_load); + + ds_map_destroy(_map); return true; } diff --git a/scripts/node_array_get/node_array_get.gml b/scripts/node_array_get/node_array_get.gml index 36ff1fc3b..add27cce6 100644 --- a/scripts/node_array_get/node_array_get.gml +++ b/scripts/node_array_get/node_array_get.gml @@ -21,7 +21,7 @@ function Node_Array_Get(_x, _y) : Node(_x, _y) constructor { inputs[| 2] = nodeValue(2, "Overflow", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["Clamp", "Loop", "Ping Pong"]); - outputs[| 0] = nodeValue(0, "Size", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0); + outputs[| 0] = nodeValue(0, "Value", self, JUNCTION_CONNECT.output, VALUE_TYPE.any, 0); static update = function() { var _arr = inputs[| 0].getValue(); diff --git a/scripts/node_canvas/node_canvas.gml b/scripts/node_canvas/node_canvas.gml index 94eba2794..8b651296f 100644 --- a/scripts/node_canvas/node_canvas.gml +++ b/scripts/node_canvas/node_canvas.gml @@ -5,7 +5,6 @@ function Node_create_Canvas(_x, _y) { } function Node_Canvas(_x, _y) : Node(_x, _y) constructor { - display_reset(0, 1); name = "Canvas"; color = c_ui_orange; @@ -23,7 +22,7 @@ function Node_Canvas(_x, _y) : Node(_x, _y) constructor { inputs[| 4] = nodeValue(4, "Fill type", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, 0) .setDisplay(VALUE_DISPLAY.enum_scroll, ["4 connect", "8 connect", "Entire canvas"]); - inputs[| 5] = nodeValue(5, "Draw preview overlay", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, false); + inputs[| 5] = nodeValue(5, "Draw preview overlay", self, JUNCTION_CONNECT.input, VALUE_TYPE.boolean, true); inputs[| 6] = nodeValue(6, "Brush", self, JUNCTION_CONNECT.input, VALUE_TYPE.surface, -1); diff --git a/scripts/node_collection/node_collection.gml b/scripts/node_collection/node_collection.gml index eaa01b210..e2b333d60 100644 --- a/scripts/node_collection/node_collection.gml +++ b/scripts/node_collection/node_collection.gml @@ -26,7 +26,18 @@ function Node_Collection(_x, _y) : Node(_x, _y) constructor { ds_list_add(list, _node); recordAction(ACTION_TYPE.group_removed, self, _node); - _node.group = group; + + switch(instanceof(_node)) { + case "Node_Group_Input" : + case "Node_Group_Output" : + case "Node_Iterator_Input" : + case "Node_Iterator_Output" : + case "Node_Iterator_Index" : + nodeDelete(_node); + break; + default : + _node.group = group; + } } static stepBegin = function() { @@ -36,7 +47,7 @@ function Node_Collection(_x, _y) : Node(_x, _y) constructor { var out_surf = false; - for( var i = 0; i < ds_list_size(outputs); i++ ) { + for( var i = 0; i < ds_list_size(outputs); i++) { if(outputs[| i].type == VALUE_TYPE.surface) out_surf = true; } diff --git a/scripts/node_data/node_data.gml b/scripts/node_data/node_data.gml index 8075b32cc..bbee03fbf 100644 --- a/scripts/node_data/node_data.gml +++ b/scripts/node_data/node_data.gml @@ -300,10 +300,17 @@ function Node(_x, _y) constructor { if(PANEL_GRAPH.junction_hovering == jun) th *= 2; + var ty = LINE_STYLE.solid; + if(jun.type == VALUE_TYPE.node) + ty = LINE_STYLE.dashed; + if(PREF_MAP[? "curve_connection_line"]) { - draw_line_curve_color(jx, jy, frx, fry, th, c0, c1); + draw_line_curve_color(jx, jy, frx, fry, th, c0, c1, ty); } else { - draw_line_width_color(jx, jy, frx, fry, th, c0, c1); + if(ty == LINE_STYLE.solid) + draw_line_width_color(jx, jy, frx, fry, th, c0, c1); + else + draw_line_dashed(jx, jy, frx, fry, th, c0, c1, 12); } } } diff --git a/scripts/node_display_text/node_display_text.gml b/scripts/node_display_text/node_display_text.gml index 6259644c5..634ea7a34 100644 --- a/scripts/node_display_text/node_display_text.gml +++ b/scripts/node_display_text/node_display_text.gml @@ -32,8 +32,185 @@ function Node_Display_Text(_x, _y) : Node(_x, _y) constructor { inputs[| 3] = nodeValue(3, "Alpha", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 0.75) .setDisplay(VALUE_DISPLAY.slider, [0, 1, 0.01]) + inputs[| 4] = nodeValue(4, "Line width", self, JUNCTION_CONNECT.input, VALUE_TYPE.float, 1000000); + input_display_list = [1, - ["Styling", false], 2, 0, 3]; + ["Styling", false], 2, 0, 3, 4]; + + _prev_text = ""; + font = f_p1; + _lines = []; + + static draw_text_style = function(_x, _y, txt, _s) { + var _tx = _x; + var index = 1; + var _len = string_length(txt); + var _ch = ""; + var _tw, _th; + var _ch_h = string_height("l") * _s; + var _mode = 0; + var _cmd = ""; + + var width = 0; + + var _cc = draw_get_color(); + + while(index <= _len) { + _ch = string_char_at(txt, index); + index++; + + switch(_ch) { + case "<" : + _mode = 1; + continue; + case ">" : + var _c = string_splice(_cmd, " "); + + if(array_length(_c) > 1) { + switch(_c[0]) { + case "bt" : + var _bch = ""; + for( var i = 1; i < array_length(_c); i++ ) { + if(i > 1) _bch += " "; + _bch += _c[i]; + } + _tw = string_width(_bch) * _s; + _th = string_height(_bch) * _s; + + draw_set_color(c_ui_blue_dkblack); + draw_roundrect_ext(_tx - 4, _y - 4, _tx + _tw + 4, _y + _th + 4, 8, 8, 0); + draw_set_color(c_ui_blue_grey); + draw_roundrect_ext(_tx - 4, _y - 4, _tx + _tw + 4, _y + _th + 4, 8, 8, 1); + + draw_set_color(_cc); + draw_text_transformed(_tx, _y, _bch, _s, _s, 0); + _tx += _tw; + width += string_width(_bch); + break; + case "spr" : + var _spr_t = _c[1]; + var _spr = asset_get_index(_spr_t); + if(!sprite_exists(_spr)) break; + + var _spr_i = array_length(_c) > 2? real(_c[2]) : 0; + var _spr_s = array_length(_c) > 3? _s * real(_c[3]) : _s; + + _tw = sprite_get_width(_spr); + _th = sprite_get_height(_spr) * _spr_s; + var _ow = sprite_get_xoffset(_spr) * _spr_s; + var _oh = sprite_get_yoffset(_spr) * _spr_s; + + draw_sprite_ext(_spr, _spr_i, _tx + _ow, _y + _ch_h / 2 - _th / 2 + _oh, _spr_s, _spr_s, 0, c_white, 1); + + _tx += _tw * _spr_s; + width += _tw; + break; + } + } + + _mode = 0; + _cmd = ""; + continue; + } + + switch(_mode) { + case 0 : + _tw = string_width(_ch); + _th = string_height(_ch); + + draw_text_transformed(_tx, _y, _ch, _s, _s, 0); + _tx += _tw * _s; + width += _tw; + break; + case 1 : + _cmd += _ch; + break; + } + } + + return width; + } + + static string_raw = function(txt) { + var index = 1; + var _len = string_length(txt); + var _ch = ""; + var _mode = 0; + var ss = ""; + var ch_str = ""; + + while(index <= _len) { + _ch = string_char_at(txt, index); + index++; + + switch(_ch) { + case "<" : + _mode = 1; continue; + case ">" : + var _c = string_splice(ch_str, " "); + + if(array_length(_c) > 1) { + switch(_c[0]) { + case "bt" : + var _bch = ""; + for( var i = 1; i < array_length(_c); i++ ) { + if(i > 1) _bch += " "; + _bch += _c[i]; + } + + ss += _bch; + break; + } + } + + ch_str = ""; + _mode = 0; + continue; + } + + switch(_mode) { + case 0 : ss += _ch; break; + case 1 : ch_str += _ch; break; + } + } + + return ss; + } + + static line_update = function(txt, line_width = 999999) { + _prev_text = txt; + _lines = []; + + var ch, i = 1, ss = "", _txt = _prev_text; + var len = string_length(_prev_text); + + draw_set_font(font); + while(string_length(_txt) > 0) { + var sp = string_pos(" ", _txt); + if(sp == 0) sp = string_length(_txt); + + var _ps = string_copy(_txt, 1, sp); + _txt = string_copy(_txt, sp + 1, string_length(_txt) - sp); + + if(string_width(string_raw(ss + _ps)) >= line_width) { + array_push(_lines, ss); + ss = _ps; + } else if(string_length(_txt) <= 0) { + array_push(_lines, ss + _ps); + ss = ""; + } else { + ss += _ps; + } + } + + if(ss != "") + array_push(_lines, ss); + } + + static onValueUpdate = function(index) { + if(index == 1 || index == 4) + line_update(inputs[| 1].getValue(), inputs[| 4].getValue()); + } static drawNodeBase = function(xx, yy, _s) { var color = inputs[| 0].getValue(); @@ -41,21 +218,39 @@ function Node_Display_Text(_x, _y) : Node(_x, _y) constructor { if(txt == "") txt = "..." var sty = inputs[| 2].getValue(); var alp = inputs[| 3].getValue(); - var font = f_p1; + var wid = inputs[| 4].getValue(); + + font = f_p1; switch(sty) { case 0 : font = f_h3; break; case 1 : font = f_h5; break; case 2 : font = f_p1; break; } + var ww = 0; + var hh = 0; + var tx = xx + 4; + var ty = yy + 4; + + if(_prev_text != txt) + line_update(txt, wid); + draw_set_alpha(alp); draw_set_text(font, fa_left, fa_top, color); - draw_text_transformed(xx + 4, yy + 4, txt, _s, _s, 0); + for( var i = 0; i < array_length(_lines); i++ ) { + var _line = _lines[i]; + var _h = string_height(_line); + var _w = draw_text_style(tx, ty, _line, _s); + + ww = max(ww, _w); + hh += _h; + ty += _h; + } draw_set_alpha(1); draw_scale = _s; - w = string_width(txt) + 8; - h = string_height(txt) + 8; + w = ww + 8; + h = hh + 8; } static drawNode = function(_x, _y, _mx, _my, _s) { diff --git a/scripts/node_line/node_line.gml b/scripts/node_line/node_line.gml index 501863011..90eaedee3 100644 --- a/scripts/node_line/node_line.gml +++ b/scripts/node_line/node_line.gml @@ -5,7 +5,6 @@ function Node_create_Line(_x, _y) { } function Node_Line(_x, _y) : Node(_x, _y) constructor { - display_reset(0, 1); name = "Line"; diff --git a/scripts/node_particle_effector/node_particle_effector.gml b/scripts/node_particle_effector/node_particle_effector.gml index 65b2505b5..c1410c44f 100644 --- a/scripts/node_particle_effector/node_particle_effector.gml +++ b/scripts/node_particle_effector/node_particle_effector.gml @@ -22,7 +22,9 @@ function Node_Particle_Effector(_x, _y) : Node(_x, _y) constructor { h = 32 + 24; min_h = h; - inputs[| 0] = nodeValue(0, "Particle data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, -1 ); + inputs[| 0] = nodeValue(0, "Particle data", self, JUNCTION_CONNECT.input, VALUE_TYPE.object, -1 ) + .setVisible(true, true); + inputs[| 1] = nodeValue(1, "Output dimension", self, JUNCTION_CONNECT.input, VALUE_TYPE.integer, def_surf_size2, VALUE_TAG.dimension_2d ) .setDisplay(VALUE_DISPLAY.vector); @@ -196,6 +198,7 @@ function Node_Particle_Effector(_x, _y) : Node(_x, _y) constructor { } static update = function() { + outputs[| 0].setValue(inputs[| 0].getValue()); var jun = outputs[| 0]; for(var j = 0; j < ds_list_size(jun.value_to); j++) { if(jun.value_to[| j].value_from == jun) { diff --git a/scripts/node_wrap_mesh/node_wrap_mesh.gml b/scripts/node_wrap_mesh/node_wrap_mesh.gml index 7e833d11d..7505d31d8 100644 --- a/scripts/node_wrap_mesh/node_wrap_mesh.gml +++ b/scripts/node_wrap_mesh/node_wrap_mesh.gml @@ -44,6 +44,9 @@ function Node_Mesh_Warp(_x, _y) : Node(_x, _y) constructor { for(var i = 0; i < ds_list_size(data.tris); i++) { data.tris[| i].drawPoints(_x, _y, _s); } + for(var i = 0; i < ds_list_size(data.links); i++) { + data.links[| i].draw(_x, _y, _s); + } var hover = -1; for(var i = control_index; i < ds_list_size(inputs); i++) { @@ -121,6 +124,11 @@ function Node_Mesh_Warp(_x, _y) : Node(_x, _y) constructor { p1.x -= dx / 2; p1.y -= dy / 2; } + + static draw = function(_x, _y, _s) { + draw_set_color(c_red); + draw_line(_x + p0.x * _s, _y + p0.y * _s, _x + p1.x * _s, _y + p1.y * _s); + } } function triangle(_p0, _p1, _p2) constructor { diff --git a/scripts/panel_animation/panel_animation.gml b/scripts/panel_animation/panel_animation.gml index 104e9d29a..976816a9d 100644 --- a/scripts/panel_animation/panel_animation.gml +++ b/scripts/panel_animation/panel_animation.gml @@ -30,6 +30,7 @@ function Panel_Animation(_panel) : PanelContent(_panel) constructor { timeline_scubbing = false; timeline_scub_st = 0; timeline_scale = 20; + _scrub_frame = -1; timeline_shift = 0; timeline_dragging = false; @@ -798,10 +799,13 @@ function Panel_Animation(_panel) : PanelContent(_panel) constructor { ANIMATOR.real_frame = clamp((mx - bar_x) / timeline_scale + timeline_shift, 0, ANIMATOR.frames_total); timeline_show_time = ANIMATOR.current_frame; - if(mouse_check_button_released(mb_left)) { - timeline_scubbing = false; - ANIMATOR.is_scrubing = false; + if(timeline_show_time != _scrub_frame) { + _scrub_frame = timeline_show_time; + ANIMATOR.is_scrubing = true; } + + if(mouse_check_button_released(mb_left)) + timeline_scubbing = false; } if(timeline_dragging) { timeline_shift = clamp(timeline_drag_sx + mx - timeline_drag_mx, -max(bar_total_w - bar_w, 0), 0); @@ -834,7 +838,7 @@ function Panel_Animation(_panel) : PanelContent(_panel) constructor { if(key_holding == noone) { timeline_scubbing = true; timeline_scub_st = ANIMATOR.current_frame; - ANIMATOR.is_scrubing = true; + _scrub_frame = timeline_scub_st; } } } diff --git a/scripts/sample_projects/sample_projects.gml b/scripts/sample_projects/sample_projects.gml index 2269c5a73..bbf4257d4 100644 --- a/scripts/sample_projects/sample_projects.gml +++ b/scripts/sample_projects/sample_projects.gml @@ -3,13 +3,12 @@ SAMPLE_PROJECTS = ds_list_create(); #endregion -function LOAD_SAMPLE() { - ds_list_clear(SAMPLE_PROJECTS); - var _l = get_program_directory() + "Sample Projects"; - var file = file_find_first(_l + "/*", fa_directory); +function LOAD_FOLDER(list, folder) { + var path = get_program_directory() + folder; + var file = file_find_first(path + "/*", fa_directory); while(file != "") { if(filename_ext(file) == ".json" || filename_ext(file) == ".pxc") { - var full_path = _l + "\\" + file; + var full_path = path + "\\" + file; var f = new FileObject(string_replace(filename_name(file), filename_ext(file), ""), full_path); var icon_path = string_replace(full_path, filename_ext(full_path), ".png"); @@ -18,9 +17,18 @@ function LOAD_SAMPLE() { sprite_set_offset(f.spr, sprite_get_width(f.spr) / 2, sprite_get_height(f.spr) / 2); } - ds_list_add(SAMPLE_PROJECTS, f); + f.tag = folder; + + ds_list_add(list, f); } file = file_find_next(); } file_find_close(); +} + +function LOAD_SAMPLE() { + ds_list_clear(SAMPLE_PROJECTS); + + LOAD_FOLDER(SAMPLE_PROJECTS, "Getting started"); + LOAD_FOLDER(SAMPLE_PROJECTS, "Sample Projects"); } \ No newline at end of file diff --git a/scripts/textArea/textArea.gml b/scripts/textArea/textArea.gml index 12973beb1..cdd1ce5f3 100644 --- a/scripts/textArea/textArea.gml +++ b/scripts/textArea/textArea.gml @@ -15,6 +15,8 @@ function textArea(_input, _onModify) constructor { _prev_text = ""; _last_value = ""; + _prev_width = 0; + cursor = 0; cursor_pos_x = 0; @@ -33,7 +35,7 @@ function textArea(_input, _onModify) constructor { static move_cursor = function(delta) { var ll = string_length(_input_text); - cursor = clamp(cursor + delta, 0, ll + 1); + cursor = clamp(cursor + delta, 0, ll); } static cut_line = function() { @@ -60,12 +62,15 @@ function textArea(_input, _onModify) constructor { ss += _ps; } } + + if(ss != "") + array_push(_input_text_line, ss); } static editText = function() { #region text editor if(keyboard_check_released(ord("V")) && keyboard_check(vk_control)) { - _input_text = clipboard_get_text(); + keyboard_string = clipboard_get_text(); cut_line(); } @@ -74,72 +79,72 @@ function textArea(_input, _onModify) constructor { cursor_select = 0; cursor = string_length(_input_text); } - } else { - if(keyboard_check_pressed(vk_escape) || keyboard_check_pressed(vk_enter)) { - } else if(keyboard_check_pressed(vk_backspace)) { - if(cursor_select == -1) { - var str_before = string_copy(_input_text, 1, cursor - 1); - var str_after = string_copy(_input_text, cursor + 1, string_length(_input_text) - cursor); + } + + if(keyboard_check_pressed(vk_escape) || keyboard_check_pressed(vk_enter)) { + } else if(keyboard_check_pressed(vk_backspace)) { + if(cursor_select == -1) { + var str_before = string_copy(_input_text, 1, cursor - 1); + var str_after = string_copy(_input_text, cursor + 1, string_length(_input_text) - cursor); - _input_text = str_before + str_after; - cut_line(); - } else { - var minc = min(cursor, cursor_select); - var maxc = max(cursor, cursor_select); + _input_text = str_before + str_after; + cut_line(); + } else { + var minc = min(cursor, cursor_select); + var maxc = max(cursor, cursor_select); - var str_before = string_copy(_input_text, 1, minc); - var str_after = string_copy(_input_text, maxc + 1, string_length(_input_text) - maxc); + var str_before = string_copy(_input_text, 1, minc); + var str_after = string_copy(_input_text, maxc + 1, string_length(_input_text) - maxc); - cursor = minc + 1; - _input_text = str_before + str_after; - cut_line(); - } - - cursor_select = -1; - move_cursor(-1); - } else if(keyboard_check_pressed(vk_delete)) { - if(cursor_select == -1) { - var str_before = string_copy(_input_text, 1, cursor); - var str_after = string_copy(_input_text, cursor + 2, string_length(_input_text) - cursor - 1); - - _input_text = str_before + str_after; - cut_line(); - } else { - var minc = min(cursor, cursor_select); - var maxc = max(cursor, cursor_select); - - var str_before = string_copy(_input_text, 1, minc); - var str_after = string_copy(_input_text, maxc + 1, string_length(_input_text) - maxc); - - cursor = minc; - _input_text = str_before + str_after; - cut_line(); - } - cursor_select = -1; - } else if(keyboard_string != "") { - var ch = keyboard_string; - - if(cursor_select == -1) { - var str_before = string_copy(_input_text, 1, cursor); - var str_after = string_copy(_input_text, cursor + 1, string_length(_input_text) - cursor); - - _input_text = str_before + ch + str_after; - cut_line(); - move_cursor(string_length(ch)); - } else { - var minc = min(cursor, cursor_select); - var maxc = max(cursor, cursor_select); - - var str_before = string_copy(_input_text, 1, minc); - var str_after = string_copy(_input_text, maxc + 1, string_length(_input_text) - maxc); - - _input_text = str_before + ch + str_after; - cut_line(); - cursor = minc + string_length(ch); - } - - cursor_select = -1; + cursor = minc + 1; + _input_text = str_before + str_after; + cut_line(); } + + cursor_select = -1; + move_cursor(-1); + } else if(keyboard_check_pressed(vk_delete)) { + if(cursor_select == -1) { + var str_before = string_copy(_input_text, 1, cursor); + var str_after = string_copy(_input_text, cursor + 2, string_length(_input_text) - cursor - 1); + + _input_text = str_before + str_after; + cut_line(); + } else { + var minc = min(cursor, cursor_select); + var maxc = max(cursor, cursor_select); + + var str_before = string_copy(_input_text, 1, minc); + var str_after = string_copy(_input_text, maxc + 1, string_length(_input_text) - maxc); + + cursor = minc; + _input_text = str_before + str_after; + cut_line(); + } + cursor_select = -1; + } else if(keyboard_string != "") { + var ch = keyboard_string; + + if(cursor_select == -1) { + var str_before = string_copy(_input_text, 1, cursor); + var str_after = string_copy(_input_text, cursor + 1, string_length(_input_text) - cursor); + + _input_text = str_before + ch + str_after; + cut_line(); + move_cursor(string_length(ch)); + } else { + var minc = min(cursor, cursor_select); + var maxc = max(cursor, cursor_select); + + var str_before = string_copy(_input_text, 1, minc); + var str_after = string_copy(_input_text, maxc + 1, string_length(_input_text) - maxc); + + _input_text = str_before + ch + str_after; + cut_line(); + cursor = minc + string_length(ch); + } + + cursor_select = -1; } keyboard_string = ""; @@ -161,6 +166,11 @@ function textArea(_input, _onModify) constructor { } static display_text = function(_x, _y, _text, _w, _mx = -1, _my = -1) { + if(_w != _prev_width) { + _prev_width = _w; + cut_line(); + } + var _xx = _x, _ch, _chw; var target = -999; @@ -207,6 +217,8 @@ function textArea(_input, _onModify) constructor { ch_x += _ch_w; ch_cxo = ch_cxn; } + if(target == -999) + target = string_length(_prev_text); break; } char_run += _l; @@ -247,6 +259,13 @@ function textArea(_input, _onModify) constructor { cursor_select = -1; move_cursor(-1); + if(keyboard_check(vk_control)) { + while(cursor > 0) { + var ch = string_char_at(_prev_text, cursor); + if(ch == " ") break + cursor--; + } + } } if(keyboard_check_pressed(vk_right)) { if(keyboard_check(vk_shift)) { @@ -256,37 +275,54 @@ function textArea(_input, _onModify) constructor { cursor_select = -1; move_cursor(1); + if(keyboard_check(vk_control)) { + while(cursor < string_length(_prev_text)) { + var ch = string_char_at(_prev_text, cursor); + if(ch == " ") break + cursor++; + } + } } if(keyboard_check_pressed(vk_up)) { + var _target; + if(cursor_line == 0) - cursor = 0; + _target = 0; else { var _l = cursor_line - 1; var _str = _input_text_line[_l]; var _run = tx; var _char = 0; - for( var i = 0; i < _l - 1; i++ ) { + for( var i = 0; i < _l; i++ ) { _char += string_length(_input_text_line[i]); } - for( var i = 0; i < string_length(_str); i++ ) { - var _chr = string_char_at(_str, i + 1); + for( var i = 1; i <= string_length(_str); i++ ) { + var _chr = string_char_at(_str, i); _run += string_width(_chr); - if(_run > cursor_pos_x_to) { - _char += i; - break; - } + if(_run > cursor_pos_x_to) break; + _char++; } - cursor = _char; + _target = _char; } + + if(keyboard_check(vk_shift)) { + if(cursor_select == -1) + cursor_select = cursor; + } else + cursor_select = -1; + + cursor = _target; } if(keyboard_check_pressed(vk_down)) { + var _target; + if(cursor_line == array_length(_input_text_line) - 1) - cursor = string_length(_prev_text); + _target = string_length(_prev_text); else { var _l = cursor_line + 1; var _str = _input_text_line[_l]; @@ -297,17 +333,23 @@ function textArea(_input, _onModify) constructor { _char += string_length(_input_text_line[i]); } - for( var i = 0; i < string_length(_str); i++ ) { - var _chr = string_char_at(_str, i + 1); + for( var i = 1; i <= string_length(_str); i++ ) { + var _chr = string_char_at(_str, i); _run += string_width(_chr); - if(_run > cursor_pos_x_to) { - _char += i; - break; - } + if(_run > cursor_pos_x_to) break; + _char++; } - cursor = _char; + _target = _char; } + + if(keyboard_check(vk_shift)) { + if(cursor_select == -1) + cursor_select = cursor; + } else + cursor_select = -1; + + cursor = _target; } #endregion @@ -331,21 +373,21 @@ function textArea(_input, _onModify) constructor { _l = string_length(_str); if(cursor_select != -1) { - draw_set_color(c_ui_blue_grey); + draw_set_color(c_ui_blue_dkgrey); if(char_run <= ch_sel_min && char_run + _l > ch_sel_min) { var x1 = tx + string_width(string_copy(_str, 1, ch_sel_min - char_run)); var x2 = tx + string_width(string_copy(_str, 1, ch_sel_max - char_run)); - draw_rectangle(x1, ch_y, x2, ch_y + c_h, 0); + draw_roundrect_ext(x1, ch_y, x2, ch_y + c_h, 8, 8, 0); } else if(char_run >= ch_sel_min && char_run + _l < ch_sel_max) { var x2 = tx + string_width(_str); - draw_rectangle(tx, ch_y, x2, ch_y + c_h, 0); - } else if(char_run > ch_sel_min && char_run <= ch_sel_max && char_run + _l > ch_sel_max) { + draw_roundrect_ext(tx, ch_y, x2, ch_y + c_h, 8, 8, 0); + } else if(char_run > ch_sel_min && char_run <= ch_sel_max && char_run + _l >= ch_sel_max) { var x2 = tx + string_width(string_copy(_str, 1, ch_sel_max - char_run)); - draw_rectangle(tx, ch_y, x2, ch_y + c_h, 0); + draw_roundrect_ext(tx, ch_y, x2, ch_y + c_h, 8, 8, 0); } } diff --git a/scripts/textBox/textBox.gml b/scripts/textBox/textBox.gml index 5735c0dca..e85933c93 100644 --- a/scripts/textBox/textBox.gml +++ b/scripts/textBox/textBox.gml @@ -347,10 +347,10 @@ function textBox(_input, _onModify) constructor { cursor_pos = cursor_pos == 0? cursor_pos_to : lerp_float(cursor_pos, cursor_pos_to, 3); if(cursor_select > -1) { - draw_set_color(c_ui_blue_grey); + draw_set_color(c_ui_blue_dkgrey); var x1 = tx + string_width(string_copy(_input_text, 1, cursor_select)); - draw_rectangle(cursor_pos, c_y0, x1, c_y1, 0); + draw_roundrect_ext(cursor_pos, c_y0, x1, c_y1, 8, 8, 0); } var _mx = -1; diff --git a/sprites/s_animation_setting/s_animation_setting.yy b/sprites/s_animation_setting/s_animation_setting.yy index 5be67e78c..10897f3f7 100644 --- a/sprites/s_animation_setting/s_animation_setting.yy +++ b/sprites/s_animation_setting/s_animation_setting.yy @@ -44,7 +44,7 @@ {"id":"f2610417-a463-4805-8dae-e4d61f67e62f","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"7eb9e04b-43ee-4426-ae7e-e3f372b5434d","path":"sprites/s_animation_setting/s_animation_setting.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack","modifiers":[],}, ], - "visibleRange": {"x":0.0,"y":0.0,}, + "visibleRange": null, "lockOrigin": false, "showBackdrop": true, "showBackdropImage": false, diff --git a/sprites/s_node_2d_light/s_node_2d_light.yy b/sprites/s_node_2d_light/s_node_2d_light.yy index 2223cb738..a82f8ae82 100644 --- a/sprites/s_node_2d_light/s_node_2d_light.yy +++ b/sprites/s_node_2d_light/s_node_2d_light.yy @@ -44,7 +44,7 @@ {"id":"55cb8a81-be84-42a4-98ba-462d8e9d4329","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"153fea53-f7c3-4be3-a874-0530070d7f8c","path":"sprites/s_node_2d_light/s_node_2d_light.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack","modifiers":[],}, ], - "visibleRange": {"x":0.0,"y":0.0,}, + "visibleRange": null, "lockOrigin": false, "showBackdrop": true, "showBackdropImage": false,