Help us understand the problem. What is going on with this article?

Android TextureView、SurfaceViewで簡単にアニメーション 〜FPSAnimator〜

More than 3 years have passed since last update.

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アニメーションの詳細はこちら
放物線運動アニメーションの詳細はこちら

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした