package com.daasuu.FPSAnimator; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Paint; import android.support.design.widget.Snackbar; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import com.daasuu.FPSAnimator.util.UIUtil; import com.daasuu.library.Container; import com.daasuu.library.DisplayObject; import com.daasuu.library.FPSTextureView; import com.daasuu.library.callback.AnimCallBack; import com.daasuu.library.drawer.BitmapDrawer; import com.daasuu.library.drawer.SpriteSheetDrawer; import com.daasuu.library.drawer.TextDrawer; import com.daasuu.library.easing.Ease; import com.daasuu.library.util.Util; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ContainerSampleActivity extends AppCompatActivity { private FPSTextureView mFPSTextureView; private Container container1 = new Container(); private Container container2 = new Container(); public static void startActivity(Context context) { Intent intent = new Intent(context, ContainerSampleActivity.class); context.startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_container_sample); mFPSTextureView = (FPSTextureView) findViewById(R.id.animation_texture_view); float container2Height = UIUtil.getWindowHeight(this) / 2; container2 .with() .tween() .waitTime(3000) .toY(2000, container2Height) .waitTime(3000) .toY(2000, 0) .tweenLoop(true) .end(); mFPSTextureView.addChild(container1); mFPSTextureView.addChild(container2); setUpContainerChild(container1); setUpContainerChild(container2); } private void setUpContainerChild(Container container) { Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); float bitmapX = 300; float bitmapY = 400; DisplayObject bitmapDisplay = new DisplayObject(); bitmapDisplay.with(new BitmapDrawer(bitmap) .dpSize(this) .scaleRegistration(Util.convertPixelsToDp(bitmap.getWidth(), this) / 2, Util.convertPixelsToDp(bitmap.getHeight(), this) / 2)) .tween() .tweenLoop(true) .transform(bitmapX, bitmapY) .to(500, bitmapX, bitmapY, 0, 6f, 6f, 0, Ease.SINE_IN_OUT) .waitTime(300) .transform(bitmapX, bitmapY, Util.convertAlphaFloatToInt(1f), 1f, 1f, 0) .waitTime(300) .end(); float frameWidth = Util.convertDpToPixel(82.875f, this); float frameHeight = Util.convertDpToPixel(146.25f, this); Bitmap baseSpriteBitmapB = BitmapFactory.decodeResource(getResources(), R.drawable.spritesheet_grant); Bitmap spriteBitmapB = Bitmap.createScaledBitmap( baseSpriteBitmapB, (int) Util.convertDpToPixel(1024f, this), (int) Util.convertDpToPixel(1024f, this), false); List<Integer> list = new ArrayList<Integer>(); for (int i = 0; i <= 26; i++) list.add(i); SpriteSheetDrawer spriteSheetDrawer = new SpriteSheetDrawer(spriteBitmapB, frameWidth, frameHeight, 64, 12) .dpSize(this) .customFrameList(list) .spriteLoop(true); DisplayObject tweenSprite = new DisplayObject(); tweenSprite.with(spriteSheetDrawer) .tween() .tweenLoop(true) .toX(2000, 400) .scale(0, -1f, 1) .toX(2000, 0) .scale(0, 1f, 1) .end(); Paint paint = new Paint(); paint.setColor(ContextCompat.getColor(this, R.color.colorAccent)); paint.setTextSize(Util.convertDpToPixel(16, this)); String tweenTxt = "container sample"; DisplayObject tweenText = new DisplayObject(); tweenText.with(new TextDrawer(tweenTxt, paint) .rotateRegistration(paint.measureText(tweenTxt) / 2, paint.getTextSize() / 2)) .tween() .tweenLoop(true) .transform(UIUtil.getWindowWidth(this) / 2, 0) .to(2000, UIUtil.getWindowWidth(this) - paint.measureText(tweenTxt), 500, 0f, Ease.SINE_OUT) .to(2000, UIUtil.getWindowWidth(this) / 2, 0, 0f, Ease.SINE_IN) .end(); container .addChild(tweenSprite) .addChild(bitmapDisplay) .addChild(tweenText); } @Override protected void onResume() { super.onResume(); mFPSTextureView.tickStart(); } @Override protected void onStop() { super.onStop(); mFPSTextureView.tickStop(); } }