View Single Post
07/03/15, 08:52 AM   #2
Sasky
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 231
1. Timelines/animations are what the game uses internally for pretty much all its animations. So, yeah, I'd stick with that for normal animations. I did some animation for CyrHUD manually, but I wanted a slow change over 10-15s, so updating at 1fps was plenty.

2. There's a stop method on the timeline:
http://wiki.esoui.com/Controls#AnimationTimeline

E1: Perhaps play with a different easing function. Without increasing FPS, "smooth" is pretty much entirely dependent on how fast/slow your transition is. Easing functions trick you by going fast for part of the progress then slower for the rest, which can appear smoother overall.

Some of the ones I found:
ZO_LinearEase, ZO_EaseOutQuadratic, ZO_EaseInQuadratic, ZO_BezierInEase

I couldn't find the exact signature for if you wanted to write your own, but the first parameter was "progress". You could probably hook one of those to get an idea of the in/out of the function. My guess is you'd feed it the actual time progress (either 0.0-1.0 or 0-100) and it'll spit out the adjusted/visual progress (same range).

E2: You can create a custom animation instead of using the size animation. It basically triggers an update for it with progress, and you can set whatever property you need:
http://wiki.esoui.com/UI_XML#CustomAnimation
http://wiki.esoui.com/Controls#AnimationObjectCustom
  Reply With Quote