Files
orx/orx-jvm/orx-keyframer/src/demo/resources/demo-full-01.json

74 lines
1.7 KiB
JSON

{
// this is breaking with proper json but.. gson accepts comments and they are invaluable
// in the parameters block you can add custom values, which can be used in expressions
"parameters": {
"smallRadius": 5.0,
"repetitionCount": 10,
"width": 640.0,
"height": 480.0,
// you can have expressions inside parameters too, they are evaluated once, on load
"resolvedOnLoad" : "width * 2.0"
},
// in the prototypes you can set up key prototypes
"prototypes": {
"red": {
"r": 1.0,
"g": 0.0,
"b": 0.0
},
"blue": {
"r": 0.0,
"g": 0.0,
"b": 1.0
},
"center": {
// prototypes can have expressions too, they are evaluated as late as possible
// thus, they are evaluated more than once
"x": "width / 2",
"y": "height / 2"
},
"small": {
"radius": "smallRadius"
},
"large": {
"radius": "smallRadius * 10.0"
}
},
"keys": [
{
"time": 0.0,
"easing": "cubic-in-out",
"x": 3.0,
"y": 4.0,
"z": 9.0,
"r": 0.0,
"g": 1.0,
"b": 0.0,
"radius": 50,
"foo" : 0.0
},
{
"time": 2.0,
"easing": "cubic-in-out",
// here we apply the prototypes in cascading fashion from left to right
"prototypes": "red center small"
},
{
"time": 3.0,
"repeat": {
"count": "repetitionCount",
"keys": [
{
"time": "(rep * 2.0) + 3.0",
"prototypes": "blue large",
"easing": "cubic-in-out"
},
{
"time": "t + 1.0",
"prototypes": "red small"
}
]
}
}
]
}