본문 바로가기

Android/Sprite Animation 01

Android Sprite Animation example

안드로이드에서 Sprite Animation을 구현하는 예, Part 01

쓰레드를 이용하여 스프라이트 시트로부터 프레임 이미지 영역의 좌료를 계산하는 예는 여기를 참조하세요

사용된 스프라이트 시트 

spritesheet.zip

MainActivity.java

package test.android; import android.app.*; import android.content.*; import android.graphics.*; import android.os.*; import android.util.*; import android.view.*; import android.view.*; import android.view.View.*; import android.widget.*; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MyView my = new MyView(this); setContentView(my); } /* spritesheet.png (1440x1480), 5행6열 */ public class MyView extends View { int frameWidth; int frameHeight; Bitmap spriteSheet = BitmapFactory.decodeResource(getResources(), R.drawable.spritesheet); Bitmap backBuffer; Canvas offScreen = new Canvas(); public MyView(Context context) { super(context); frameWidth = spriteSheet.getWidth()/6; frameHeight = spriteSheet.getHeight()/5; backBuffer = Bitmap.createBitmap(spriteSheet, 0, 0, frameWidth, frameHeight); offScreen.setBitmap(backBuffer); Rect src = new Rect(0,0,frameWidth, frameHeight); Rect dst = new Rect(0,0,frameWidth, frameHeight); offScreen.drawBitmap(spriteSheet, src, dst, null); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawBitmap(backBuffer,0f,0f,null); } } }