4 ms·
Isn't 'never' an oversimplification? Sometimes there is a feedback loop between UI effects and user input, or the user input changes the way the UI registers hi
by stult 9y ago
Isn't 'never' an oversimplification? Sometimes there is a feedback loop between UI effects and user input, or the user input changes the way the UI registers hits, which means subsequent input depends on complete processing of prior inputs. On a static view like a calculator grid, you should default to non blocking animation, but sometimes blocking is the desired behavior.
- infinisil 9y agoWhat's a concrete example of this?
- Invisig0th 9y agoTetris
- jamesrom 9y agoAn example that comes to mind is a slider switch (iOS is famous for them) You don’t want the switch activated until it’s all the way left or right.
- stult 9y agoAn even simpler example is page-based navigation. Can't register UI hits while pages are animating in and out.
- dajt 9y agoWhat if you want to quickly flick through pages? Having to wait for each page to render would be awful.
- mannykannot 9y agoSlider controls might be a better example, I think. In that case, the position reached by the moveable element is the data, and it is appropriate to take the value from the UI element (of course, if it lags noticeably, that is a UI design issue.) With slider switches, you could argue it either way, so long as program and UI remain consistent, but again there is a problem if the UI response lags the gesture.
- maccard 9y agoVideo games use animations as easy to project information to a player. If your character is “stunned” and can’t move, the animation should play for the duration of the status effect.
- whalesalad 9y agoSure. But that’s an inherent feature of the animation. In this case the “never” rule doesn’t apply. If animations are a side effect, you want to treat them as such.
- maccard 9y agoThe never rule not applying what what I was giving an example of!
- damnyou 9y agoBut should any buttons pressed during that time be queued? Command queueing and cancellation is an important part of game design.