- 13. 9. 23 수업 코드
package com.springday.anipang;
import gachon.springday.anipang.util.MyGraphics;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GameView(this));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public class GameView extends View implements Runnable
{
private Context mCom = null;
private Canvas mCvs = null;
private MyGraphics mG = null;
private Thread mT = null;
private int mFrm = 0;
private boolean bInit = true;
public void InitView()
{
mG.loadback();
mG.loadChar();
mT = new Thread(this);
mT.start();
}
public GameView(Context _con)
{
super(_con);
mCom = _con;
}
public void run()
{
while(true)
{
try
{
Thread.sleep(100);
this.postInvalidate(); // 지속적인 Ondraw함수 호출을 위해
} catch(Exception e)
{
}
}
}
// 원래는 앱 시작후 한번만 실행됨.
protected void onDraw(Canvas canvas)
{
canvas.drawColor(Color.BLUE);
if(bInit)
{
bInit = false;
mG = new MyGraphics(mCom, canvas);
InitView();
}
++mFrm;
mG.drawBack();
mG.drawChar(mFrm%6, 100, 200);
}
}
}
package gachon.springday.anipang.util;
import com.springday.anipang.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable;
public class MyGraphics {
private Context mCom = null;
private Canvas mCvs = null;
private Bitmap imgBack = null;
private Bitmap[] imgChar = new Bitmap[6];
public MyGraphics(Context _com, Canvas _cvs)
{
mCom = _com;
mCvs = _cvs;
}
public Bitmap loadImage(int _rid)
{
BitmapDrawable bd = (BitmapDrawable)mCom.getResources().getDrawable(_rid);
return bd.getBitmap();
}
public void loadback()
{
imgBack = loadImage(R.drawable.background);
}
public void loadChar()
{
for(int i =0; i < imgChar.length; i++)
{
imgChar[i] = loadImage(R.drawable.chr0_walk1+i);
}
}
public void drawBack()
{
mCvs.drawBitmap(imgBack, 0, 0, null);
}
public void drawChar(int _frm, int x, int y)
{
mCvs.drawBitmap(imgChar[_frm], x, y, null);
}
}
'스터디' 카테고리의 다른 글
Cocos2d-x :: 터치 이벤트 (0) | 2013.10.17 |
---|---|
Unity3D :: Time.timeScale (0) | 2013.10.06 |
OpenGL :: .....예전에 했던 stanford bunny 과제 (0) | 2013.08.16 |
중간고사 대비 관련해서 이것저것 남겨두는 포스팅. (0) | 2013.04.21 |
Direct3D :: 시야각 설정을 통한 카메라 Zoom In/Out (0) | 2013.03.23 |