UndergarmentPhisogue wrote: ↑July 5th, 2020, 9:36 pm
To be honest, there is:
while trying to add a fade effect, I stumbled upon the fact that it just doesn't wait for it to stop fading out, it just blazes through all the actions like it wins him a new day to live.
What I'm trying to do now is make it fade, (
only)after the fading is done it can teleport, and then fade back in:
Code: Select all
[MeterMario]
Meter=Image
ImageName=#@#Delivery Ready to go East.png
DynamicVariables=1
LeftMouseUpAction=[!UpdateMeasureGroup "Random"] [!FadeDuration 1000] [!HideFade] [!Move (#VarNewXPosition#) (#VarNewYPosition#)] [!ShowFade]
MiddleMouseUpAction=[!Move (#VarDefaultX#) (#VarDefaultY#)]
I tried using the [!Delay] bang (after [!HideFade]) with different values (from 1000 to 50 and all the grey zones), but what it did was see it fade out without teleporting, and then never see it back again until a refresh (FadeDuration is a pretty high value, so I could see it die slowly and never see it coming back).
I don't understand why the delay is preventing it from coming back, from Rainmeter's own context menu it shows that the coordinates are still the same, so it isn't moving from there, it's doing everything until [!HideFade] and then zilch.
Well, it works ok for me, with one caveat...
Code: Select all
[Rainmeter]
Update=1000
OnRefreshAction=[!Move (#VarDefaultX#) (#VarDefaultY#)]
[Variables]
VarDefaultX=164
VarDefaultY=470
VarNewXPosition=0
VarNewYPosition=0
[MeasureCalcX]
Measure=Calc
Group=Random
Formula=(Random)
LowBound=0
HighBound=1339
UpdateRandom=1
UpdateDivider=-1
DynamicVariables=1
OnUpdateAction=[!SetVariable VarNewXPosition "[MeasureCalcX]"]
[MeasureCalcY]
Measure=Calc
Group=Random
Formula=(Random)
LowBound=0
HighBound=588
UpdateRandom=1
UpdateDivider=-1
DynamicVariables=1
OnUpdateAction=[!SetVariable VarNewYPosition "[MeasureCalcY]"]
[MeterMario]
Meter=Image
ImageName=#@#Delivery Ready to go East.png
DynamicVariables=1
LeftMouseUpAction=[!UpdateMeasureGroup "Random"] [!FadeDuration 1000][!HideFade][!Delay 1200][!Move (#VarNewXPosition#) (#VarNewYPosition#)] [!ShowFade]
MiddleMouseUpAction=[!UpdateMeasureGroup "Random"][!Move (#VarXPosition#) (#VarYPosition#)]
[MeterString]
Meter=String
SolidColor=255, 0, 0, 255
Text=#VarNewXPosition#
DynamicVariables=1
You have to be sure that the !Delay is set to at least a tad more than !FadeDuration, so it has time to "fade out" fully before it moves the skin and fades it back in. Keep in mind that all stacked-up bangs are "sequential" in the order they are executed, but they don't in any way wait for one to "finish" before executing the next one. They fire off one after the other as quickly as possible, which is REALLY, REALLY quickly indeed. That is the purpose of the !Delay bang. If used carefully and with some thought, it can have things be a bit more heel-to-toe, allowing you to "wait" a defined amount of time between bangs. It's still in no way waiting for anything other than the !Delay bang itself to "finish", but it can be useful.
P.S. What !FadeDuration does is permanently set the value for FadeDuration in Rainmeter.ini, associated with that [ConfigName]. This not only controls how fast bangs like !HideFade / !ShowFade work, but also how fast the skin "loads" and "unloads". You may not want that effect then, so you might consider using !FadeDuration to set it to 1000 when you need it, and then use !FadeDuration again with 250 (the default) at the end of the action.
Code: Select all
LeftMouseUpAction=[!UpdateMeasureGroup "Random"][!FadeDuration 1000][!HideFade][!Delay 1200][!Move (#VarNewXPosition#) (#VarNewYPosition#)][!ShowFade][!FadeDuration 250]