WOW〃retail/매크로,LUA〃

[lua] 애니메이션에 조건을 걸고 싶을 때

토실스 2022. 5. 7. 13:27
반응형

애니메이션을 사용자 설정으로 해놓고,

 

사라짐 or 슬라이드 or 확대 or 회전 의 사용자 설정함수에 조건을 넣으면 된다.

 

사용자 설정함수를 체크하면 기본으로 설정된 함수가 뜨는데, 여기에 조건만 추가하면 됨.

 

function(progress, start, delta)
    return start + (progress * delta)
end

'사라짐' 의 기본함수가 이거라면,

function(progress, start, delta)
    if aura_env.state.expirationTime - GetTime() <= 6 then
        return start + (progress * delta)
    else
        return true
    end
end

aura_env.state.expirationTime - GetTime() <= 6  

이라는 조건을 넣어서

남은 지속시간을 체크할 수 있다.

 

보통 버프나 디버프의 지속시간이 몇초 남았을때 깜박이면서 애니메이션까지 넣고 싶은 경우가 많은데,

이때 이 조건문을 사용하면 된다.

깜박임은 조건탭에 추가가 되지만, 애니메이션은 안되기 때문.

그러다가 애니메이션이 있는 위크오라를 따로 만들어서 초로 나눠 개수가 2배로 늘어나게 되고.. 하는걸 방지하기 위한것.


애니메이션을 프리셋처럼 지정하는게 맘에 안들면, '동작 탭' 에서 지정해주는 것도 방법이다. 어려움

askawa의 회전 애니메이션 예시 : https://wago.io/pIjq4SFNt/1

local r = aura_env.region
if not r.ag then
    r.ag = r:CreateAnimationGroup()
    r.ag.anim = r.ag:CreateAnimation("Rotation")
end
r.ag:SetLooping("Repeat")

r.ag.anim:SetDegrees(360)
r.ag.anim:SetDuration(2)

aura_env.region r을 CreateAnimationGroup() r.ag으로 애니메이션 그룹을 생성하고,

r.ag의 세부 애니메이션을 r.ag.variable = CreateAnimation([animationType, name, inheritsFrom])으로 지정해준다.

animationType 는 취향에 따라

Translation(이동), Rotation(회전), Alpha(투명도), Scale(크기), Path(여러위치 이동) 로 지정해준다.

 

세부 명령어는 다음 링크를 참고한다.

https://wowpedia.fandom.com/wiki/Widget_API#Alpha

 

Widget API

Widgets are user interface elements, created from Lua functions like CreateFrame() and XML tags like <Frame>. This page lists the defined methods for each widget type, grouping together types with common inheritance.

wowpedia.fandom.com

이후 조건 탭에서 

aura_env.region.ag:Play()

aura_env.region.ag:Stop()

을 추가해준다.

 

 

 

그렇게 ㅅㅇㄱ의 집섬 위크오라를 반으로 줄여본 예시를 참고하라.

!WA:2!vJvZZTTXvCZW46Au7wjAxvlL(bQsRkPJdLiKLKhNy7qsrArBzjAqgj5u5kTGyjaSabqwakrQ(nJBQ6hPPLoTPnt)uTZ0l(K(tW36T3O2t9Op2jN00tTx6BbaLeTLtYmQhCWmGy5U)WB399(9(TpYiZfZvz0KtKm14XQftnM6gIpuXMPszzivwrLz740tgtJ1xNWuflBBB6z4WAmB1QUuViSMbnw8iBrSQOBZkABy5PKn3mLZjVvGzYABAZUwKirIkvNz68C6EEoUxC4HxJOzN0WE4Zxy(jVP(CPLgofJuXZW2YDCzxpcZtqPQHLHRUqg8HNqlpMHMgL5oWqSWMV5MQuL6vRwUPdLnvUPlM)vNoJh(fzsDgrQLRd10SGQRWdDRRqxLA5vcrB0yRLYMUu5LkvoTC5DhQiJIdjxQyUPNotDCgvCmjnPmz)rvMIsm90LTi1OUcTRBfUee2b3XuMfXCoCPHRET2elJAe(gzC4e5FaL4sl5XOwAE6hdovglBl62Q4YJJyj(IL5sRyBP62IdLVvGNptnIHvEyq8fGNh(kWxfgcFEYhTh2QbZz0nXnHmvJ78eYyAtuNtXJyIl7(KRvhdzcS1XPf9eptg0NuPp4CcYvmjUU8wzCnwNYBSTsyipiMfnA0Irhj5yYUvqBfvjiEQVzWZCQAuNEl961jmQy(6MMIZRB4r3K5Vm4BdznMDDNq4LW54OpiODaP54kU0A4gqovYrsoYME2vc3nNjYYlmOHQY7)x)fV)DV)wvzOlh9Geps0DcOz55DXNcLszLZLBMqQwbl0SinZqDRgxBLBos5vM68A5B7snR6tmHJTnPUh((Z64ZZe2K73ncAVLHvvBwqGtqbhOQHMqSkV2gJPu3LYwQzKGNnIapBe4Or2brt57ql1q31ux5F9F4x)3PUY)898VI6CAvQlXJhTP88Pa86B5Yx)0g4a0LHJdc7hx(DTRo8zMziONn6vIrRfB8215mj0kUldNb6xX1VDSuqVqmgo2mOr1FyqVZI0kINnBWlFPDWHY1atTkfKnSm85HVWd4ji(PhgQUdOm6OJln(eWxua(Scib70BHtyhte7YqFWNdgaEoUdqMwth(scBPA4EN6wy(6QujIvtNEj(TlhKvCdBv69pslQLAAlntQxFGOgmjCm4lJ5eZbNsXHrXyLpRgP0C68TvC1zgwRaFTn6VTpJlpAFN7v1FwSTI7WS1W3Y9CI(Qdle(8w4to6fcFERecI4fJIEtRqOIVG4UVU4zfJh8cIVy4Wjs0XwhiWB1b4TsKqa3sck(D3iABIPJoXNhwPURNDnK2GmHmrcEE1PUYFRF(1zca6VFE3N0(5CIQutpsWQ30gNbrc33jEPUwss4nss1t6yKaxxXdBloSO0JVX5BN4bqCnSI7BVeyNPsmSuc0qHZiFp1QJKKeMXhS(thLZ4wYFTVCOYtWiYrHHAZvRMTUxbRa3rZOWT30hBX6MipjOjx)W3k(y0J1msSgrA7BeFLUkbHAE7TDXCCdnDVs8EcWWDznICTdWNXsDorn8wbVj4ntc)oERG3ePdTxm4vTORvSZlHg4j5jFP974zP4E99)MipIjHZclfs08H6FPDqa14a16gOYbbuHduPBGKdciHdKKQd1Lz7HAmr8Jj(UyD)SVtoN)5kdfE2YTHVbgWB5dg97rYu12YZPN8mJ1fVzDIkxmwSCziEuiXa9bNAB88hLD13u0P844DpXM(SqFjGthdo7CWlWpMbEXNbs63yy)phX)Z8NDi5k60kRKh6jARvjmdIIj9H0gogbeZYg1OYRsmRthm1fg02zWx(sSk6yKG6E2HGwC93W0TirBHXAu(YRjCDCO(Gko9Zf8wIATAYGdOss0Uyr8894jG7Uzq2Bfu0Ai47YNF47bFFOvW8G6FVXaFawPKNTd3kWB60d6vtREh0AuvQ6nin0D6Dp3sOGVZ4f4vmuLuHUyAvv8SNfNNswjnxqEXI2Rrz(nVbv1GSyqV8phfYj407Eh60XAt0L1MTlRfyJqKUlkByPTuQrCAK0tJ0Ihs5Nk3Vsndgdjcp6Y3WshgFNoznEbwbYSv2g1SygRm9k5VqBmezPYv7Lsp5K7eIzEgXH3NZPZoD6BuS8SzMoD2RJakuUWC5GRaVsBxtILhhJsHzkvyYCWLpUsfmMTuZIp7ijpFQD2ZTTBbKtDL)(OJ(kh5irAvXUg)aexD4IWlbVCybdSGcgs9q3A22E6DscwgC4YqtiVMHQN(Dpb8PWZGeGtkaF6HARAVuqWFzafAAgK2ZWK9hjqlyuv0Y2tKHrCrpDQvqkp)BxsKDXSmkMvLUtHFxLx4t8GmoMphH6nTTTd6)JpOm1bbpyc)rsI5SClWb9igj(GP5sO7cu6JiUu8zBYq184JKuASUgjpZUM)lepvx9x2oOxuWUR(NLxz1EyLEIwxQBRVp7iTF73TLcSUucykb8WFEbGuD4tahBlBMbw(Q)SSD6zkxi70ZM96ZxOuUaAsJaAcCvbNE2JQe(Zs2ymOqe4AHfQbx)alndMwhUHFXxWm7wOfmBSXHI(Lxb3mMeVYkqwhkHLrbL9lCcE1bG52Rqjy(9kpcwGxzeCl41GV(9pcS4)U3hPQhuwD)f8GASyToWsWYajkOava1iaDxvmOkOb6GbCNOWkDo)fmXJEHAGfEAlyhWShdE9WdwbgAexWdQdRcRfbA8biUdnJaRdFZDLWHVf8TXKJVZ7CYpCH6hxKefJH34XKHrrXq9x4hWfi)GvxHFihdSHo8JGFmQ2b)e4NcVv)WpthEBujc(5O2tQMx9635Qz9MELjG2W9G3b(LC9e4xbVlkHa)6qAXVPl9c49oqHcj432rBa(DDRla)Eupa(diRe(J(8r4pbBc)5DjDWF5)BKSrpCKmVt(Xrs2Pp(tZKSS2JfFn5s3zsZshAs2OpvqYo)Huj7t(Xrs29EAMJTWfyxlEZ6oYnno0CSZ)ubhBSdhh7T)4ifl6t1uSXKMWESvNFoI5HMIn2bqXY)axErxlX8lO9OmSwAtSi3LL972zSp0Fysjoo8NLyRy7LX0WjPTMwl0kUb)5xFujWXw9FSW)l

 

반응형