Android TextureView, SurfaceView에서 쉽게 애니메이션 ~FPSAnimator~

FPSAnimator



TextureView 또는 SurfaceView에서 쉽게 애니메이션을 만들 수 있는 라이브러리입니다.
Bitmap 그리기, Text 그리기, 직접 Canvas에 커스터마이즈한 것을 애니메이션 시키는 것도 가능합니다.
Tween 애니메이션, 포물선 운동, 스프라이트 시트 애니메이션을 쉽게 만들 수 있습니다.
특징으로서 FPS의 제어도 가능합니다. 애니메이션 이외에도 많은 View의 갱신 등이 있을 때에는 조금 FPS를 낮추는 등을 하여 전체의 밸런스를 취하는 것이 가능하게 됩니다.

FPSAnimator

기본 사용법



Gradle 설정
    dependencies {
        // jCenter
        compile 'com.daasuu:FPSAnimator:0.2.2'
    }

FPSTextureView를 레이아웃으로 설정. attribute에 FPS를 설정. SurfaceView를 사용할 때 FPSSurfaceView
사용하십시오.
기본 FPS는 30으로 설정됩니다.
    <com.daasuu.library.FPSTextureView
        android:id="@+id/animation_texture_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:FPSAnimator_fps="24"
        />

Activity onCreate, Fragment onCreateView에서 bind합니다.
    private FPSTextureView mFPSTextureView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_easing_sample);
        mFPSTextureView = (FPSTextureView) findViewById(R.id.animation_texture_view);
    }

DisplayObject를 만들고 FPSTextureView에 add. tickStart 함수를 두드리고 애니메이션 시작
됩니다. tickStart를 수행하는 타이밍은 onResume에서 tickStart, onPause에서 tickStop이 권장됩니다.
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
    DisplayObject bitmapDisplay = new DisplayObject();
    bitmapDisplay
            .with(new BitmapDrawer(bitmap))
            .tween()
            .toX(1600, windowWidth - bitmap.getWidth(), Ease.BACK_IN_OUT)
            .waitTime(1000)
            .alpha(1000, 0f)
            .alpha(1000, 1f)
            .end();

    mFPSTextureView
                .addChild(bitmapDisplay)
                .tickStart();



위와 같은 애니메이션이 만들어집니다.
1.6초로 화면 옆까지 가고, 1초 정지.
1초에 투명해지고 1초에 투명이 1로 돌아갑니다.
Createjs의 Tween과 비슷합니다.

그 밖에도 SpriteSheet 애니메이션과 포물선 운동의 Class도 쉽게 실현 가능합니다.
다른 2개에 관해서는 또 다른 기사로 써 드립니다.

꼭 library에 github의 Star를 부탁드립니다.
FPSAnimator

추가:
Tween 애니메이션에 대한 자세한 내용은 여기
SpriteSheet 애니메이션에 대한 자세한 내용은 여기
포물선 운동 애니메이션에 대한 자세한 내용은 여기

좋은 웹페이지 즐겨찾기