Page 1 of 1

Animation control

Posted: 02 Sep 2018, 19:37
by Lobby
An often requested feature is animation control using fun. It's possible in recent versions and looks like that :json

Code: Select all

[
  {
    "id": "$anim_test_control00",
    "type": "terrain",
    "width":1,
    "height":1,
    "template":"$template_ground",
    "frames":[{"x":416,"y":96,"w":32,"h":16}],
    "animation":[
      {"id":"$animationfan00","x":-16,"y":-48}  // Animation slot 0
    ],
    "on click fun":{
      "condition":{"type":"animation running"},   // Is animation in slot 0 running?
      "action":{"type":"animation pause"},        // Pause it
      "else action":{"type":"animation resume"}   // Resume it
    }
  }
]
(this plugin doesn't need external graphics, you might just put it in a json file in your plugins folder)
Show
animation running
This condition is true if the animation slot specified by "level" (0 by default) is running right now. If "frame" is provided it will also check for the current visible frame to be the same as "frame".
Show
animation pause
This action pauses the animation slot "level" (0 by default). Additionally sets the frame to "frame" if specified.
Show
animation resume
This action resumes the animation slot "level" (0 by default). Additionally sets the frame to "frame" if specified.
:mine

Re: Animation control

Posted: 03 Sep 2018, 00:04
by Bearbear76
Is it possible to dictate other animations?
For example

Code: Select all

"condition":{"type":"animation running", "id":"animation ID"},

Re: Animation control

Posted: 03 Sep 2018, 06:45
by JustAnyone
Yes, using sloths slots.
"level":1 will use 2nd animation which is defined in building "animation".

Re: Animation control

Posted: 09 Feb 2019, 15:15
by Imran M
So, you can make this stop and start an animation with this type of fun?

Re: Animation control

Posted: 09 Feb 2019, 20:11
by Lobby
Yes, that's what it's for.

Re: Animation control

Posted: 23 Jan 2021, 20:55
by Imran M
Hey, could I get some help? I followed it to a T, but it won't change when I click on it.

Code: Select all    Reset

[{ "id":"2x2HD SE", "type":"animation", "frames":[{ "bmp":"Hangar Doors.png", "x":0, "y":0, "w":16, "count":1, "count y":15, "count x":0 }] },{ "id":"2x2HD SW", "type":"animation", "frames":[{ "bmp":"Hangar Doors.png", "x":16, "y":0, "w":16, "count":1, "count y":0, "count x":0 }] },{ "id":"2x2 Hangar SE", …//same "frames":[{ "bmp":"2x2 Hangar.png", "x":0, "y":0, "w":64, "count":1 }], …//Same "animation":[{ "id":"2x2HD SE", "x":36, "y":-6 }], "on click fun":{ "condition":{"type":"animation running"}, "action":{"type":"animation pause"}, "else action":{"type":"animation resume"} } },{ "id":"2x2 Hangar SW", … //Code that doesn't really matter "frames":[{ "bmp":"2x2 Hangar.png", "x":64, "y":0, "w":64, "count":1 }], …//Same "animation":[{ "id":"2x2HD SW", "x":12, "y":-6 }], "on click fun":{ "condition":{"type":"animation running"}, "action":{"type":"animation pause"}, "else action":{"type":"animation resume"} } }]
JSON checker
Check
2x2 Hangar.png
2x2 Hangar.png (3.91 KiB) Viewed 9968 times
Hangar Doors.png
Hangar Doors.png (466 Bytes) Viewed 9968 times
Or:
Hangar that don't work.zip
(5.21 KiB) Downloaded 177 times

Re: Animation control

Posted: 24 Jan 2021, 00:37
by CommanderABab
Imran M wrote:
23 Jan 2021, 20:55
Hey, could I get some help? I followed it to a T, but it won't change when I click on it.

Code: Select all

[{
    "id":"2x2HD SE",
    "type":"animation",
    "frames":[{
        "bmp":"Hangar Doors.png",
        "x":0,
        "y":0,
        "w":16,
        "count":1,
        "count y":15,
        "count x":0
    }]
},{
    "id":"2x2HD SW",
    "type":"animation",
    "frames":[{
        "bmp":"Hangar Doors.png",
        "x":16,
        "y":0,
        "w":16,
        "count":1,
        "count y":0,
        "count x":0
    }]
},{
    "id":"2x2 Hangar SE",
    …//same
    "frames":[{
        "bmp":"2x2 Hangar.png",
        "x":0,
        "y":0,
        "w":64,
        "count":1
    }],
    …//Same
    "animation":[{
        "id":"2x2HD SE",
        "x":36,
        "y":-6
    }],
    "on click fun":{
        "condition":{"type":"animation running"},
        "action":{"type":"animation pause"},
        "else action":{"type":"animation resume"}
    }
},{
    "id":"2x2 Hangar SW",
    … //Code that doesn't really matter
    "frames":[{
        "bmp":"2x2 Hangar.png",
        "x":64,
        "y":0,
        "w":64,
        "count":1
    }],
    …//Same
    "animation":[{
        "id":"2x2HD SW",
        "x":12,
        "y":-6
    }],
    "on click fun":{
        "condition":{"type":"animation running"},
        "action":{"type":"animation pause"},
        "else action":{"type":"animation resume"}
    }
}]
2x2 Hangar.png
Hangar Doors.png
Or:
Hangar that don't work.zip

Re: Animation control

Posted: 24 Jan 2021, 13:22
by CommanderABab
In your animation frames definition, what's this section supposed to do?:

Code: Select all

"count":1,
        "count y":15,
        "count x":0
I've never seen anything with a count y or count x.
Maybe your animation doesn't seem to move because it just has a count of 1 which would be a static image.

Re: Animation control

Posted: 24 Jan 2021, 13:56
by Imran M
CommanderABab wrote:
24 Jan 2021, 13:22
In your animation frames definition, what's this section supposed to do?:

Code: Select all

	"count":1,
        "count y":15,
        "count x":0
I've never seen anything with a count y or count x.
Maybe your animation doesn't seem to move because it just has a count of 1 which would be a static image.
I thought you needed the count x/y to give a sort of point to the anim, then you can specify where you want it?
I think you're right, I wanted it be sort of like a door, and when you click on it, it turns off/disappears. But, it appears that it doesn't remove the animation, it stops it. Do you have anything like a "turn off animation" action?

I could just create 2 more frames (one closed and one opened for each rotation) and just get it to switch frames, kind of like how Lobby did it with that button. However, that'll require more plugin space.

Re: Animation control

Posted: 24 Jan 2021, 14:20
by CommanderABab
It would be:

Code: Select all

"handle y": 15,
"handle x":0
:)