⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 worldanimator.java

📁 Java游戏高级编程!!很不错的!!!Java游戏高级编程!!很不错的
💻 JAVA
字号:
     package com.croftsoft.core.animation.animator;     import java.awt.*;     import java.util.*;     import javax.swing.JComponent;     import com.croftsoft.core.animation.ComponentAnimator;     import com.croftsoft.core.lang.NullArgumentException;     import com.croftsoft.core.animation.model.ModelAccessor;     import com.croftsoft.core.animation.model.WorldAccessor;     /*********************************************************************     * ComponentAnimator that maps Models to views.     *     * @version     *   2003-06-18     * @since     *   2003-04-14     * @author     *   <a href="http://www.croftsoft.com/">David Wallace Croft</a>     *********************************************************************/     public abstract class  WorldAnimator       implements ComponentAnimator     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     {     private final WorldAccessor  worldAccessor;     private final Map            modelAccessorToComponentAnimatorMap;     private final Set            oldModelAccessorSet;     //     private ModelAccessor [ ]  modelAccessors;     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     public  WorldAnimator ( WorldAccessor  worldAccessor )     //////////////////////////////////////////////////////////////////////     {       NullArgumentException.check ( this.worldAccessor = worldAccessor );       modelAccessorToComponentAnimatorMap = new HashMap ( );       oldModelAccessorSet = new HashSet ( );       modelAccessors = new ModelAccessor [ 0 ];     }     //////////////////////////////////////////////////////////////////////     // interface ComponentAnimator methods     //////////////////////////////////////////////////////////////////////     public void  update ( JComponent  component )     //////////////////////////////////////////////////////////////////////     {       if ( worldAccessor.isCleared ( ) )       {         component.repaint ( );         oldModelAccessorSet.clear ( );         modelAccessorToComponentAnimatorMap.clear ( );       }       modelAccessors = worldAccessor.getModelAccessors ( modelAccessors );              for ( int  i = 0; i < modelAccessors.length; i++ )       {         ModelAccessor  modelAccessor = modelAccessors [ i ];         if ( modelAccessor == null )         {           break;         }         oldModelAccessorSet.remove ( modelAccessor );         ComponentAnimator  componentAnimator           = getComponentAnimator ( modelAccessor );         componentAnimator.update ( component );       }       Iterator  iterator = oldModelAccessorSet.iterator ( );       while ( iterator.hasNext ( ) )       {         ModelAccessor  modelAccessor           = ( ModelAccessor ) iterator.next ( );         modelAccessorToComponentAnimatorMap.remove ( modelAccessor );       }       oldModelAccessorSet.clear ( );       for ( int  i = 0; i < modelAccessors.length; i++ )       {         ModelAccessor  modelAccessor = modelAccessors [ i ];         if ( modelAccessor == null )         {           break;         }         oldModelAccessorSet.add ( modelAccessor );       }            }     public void  paint (       JComponent  component,       Graphics2D  graphics )     //////////////////////////////////////////////////////////////////////     {       for ( int  i = 0; i < modelAccessors.length; i++ )       {         ModelAccessor  modelAccessor = modelAccessors [ i ];         if ( modelAccessor == null )         {           break;         }         ComponentAnimator  componentAnimator           = getComponentAnimator ( modelAccessor );         componentAnimator.paint ( component, graphics );       }     }     //////////////////////////////////////////////////////////////////////     // protected methods     //////////////////////////////////////////////////////////////////////     protected ComponentAnimator  getComponentAnimator (       ModelAccessor  modelAccessor )     //////////////////////////////////////////////////////////////////////     {       ComponentAnimator  componentAnimator = ( ComponentAnimator )         modelAccessorToComponentAnimatorMap.get ( modelAccessor );       if ( componentAnimator == null )       {         componentAnimator = createComponentAnimator ( modelAccessor );         modelAccessorToComponentAnimatorMap.put (           modelAccessor, componentAnimator );       }       return componentAnimator;     }     protected ComponentAnimator  createComponentAnimator (       ModelAccessor  modelAccessor )     //////////////////////////////////////////////////////////////////////     {       return new ModelAnimator ( modelAccessor );     }     //////////////////////////////////////////////////////////////////////     //////////////////////////////////////////////////////////////////////     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -