74 lines
1.7 KiB
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"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
} |