protected void updateActionFrames ( ) { // get a reference to the action sequence so that we can obtain // our animation frames and configure our frames per second ActionSequence actseq = _charmgr . getActionSequence ( _action ) ; if ( actseq == null ) { String errmsg = "No such action '" + _action + "'." ; throw new IllegalArgumentException ( errmsg ) ; } try { // obtain our animation frames for this action sequence _aframes = _charmgr . getActionFrames ( _descrip , _action ) ; // clear out our frames so that we recomposite on next tick _frames = null ; // update the sprite render attributes setFrameRate ( actseq . framesPerSecond ) ; } catch ( NoSuchComponentException nsce ) { log . warning ( "Character sprite references non-existent component" , "sprite" , this , "err" , nsce ) ; } catch ( Exception e ) { log . warning ( "Failed to obtain action frames" , "sprite" , this , "descrip" , _descrip , "action" , _action , e ) ; } }
Rebuilds our action frames given our current character descriptor and action sequence . This is called when either of those two things changes .