package com.example.hackman;


import android.graphics.Bitmap;

import android.graphics.Canvas;

import android.graphics.Rect;


public class CharaSprite extends GraphicObject {

private Rect m_Rect; //그려줄 사각 영역  

private int m_fps; //초당 프레임

private int m_iFrames; //프레임 개수

private long m_FrameTimer;  //이전 시간 정보를 담을 변수

private int m_CurrentFrame;//최근 프레임

private int m_SpriteWidth;

private int m_SpriteHeight;

public CharaSprite(Bitmap bitmap){

super(bitmap);

//멤버 변수 초기화

m_Rect = new Rect(0,0,0,0);

m_CurrentFrame = 0;

m_FrameTimer=0;

}

public void InitSpriteData(int _width,int _height,int _fps, int iFrame){

//기본 정보 설정

m_SpriteWidth = _width;

m_SpriteHeight = _height;

m_Rect.top = 0;

m_Rect.bottom = m_SpriteHeight;

m_Rect.left = 0;

m_Rect.right = m_SpriteWidth;

m_fps = 1000/_fps;

m_iFrames = iFrame;

}

@Override

public void Draw(Canvas canvas){

Rect dest = new Rect(m_x, m_y, m_x + m_SpriteWidth, m_y + m_SpriteHeight);

canvas.drawBitmap(m_bitmap,m_Rect,dest,null);

}

public void Update(long GameTime){

if(GameTime>m_FrameTimer+m_fps){

m_FrameTimer = GameTime;

m_CurrentFrame += 1;

if(m_CurrentFrame>=m_iFrames){

m_CurrentFrame=0;

}

}

m_Rect.left = m_CurrentFrame * m_SpriteWidth;

m_Rect.right = m_Rect.left * m_SpriteWidth;

}

}


---------------------------------------------------------------

public class TestState implements IState {

private GraphicObject m_Image;

private CharaSprite m_spr;

@Override

public void Init() {

// TODO Auto-generated method stub

m_spr=new CharaSprite(BitmapFactory.decodeResource

(AppManager.getInstance().getResources(),R.drawable.zombi_walk2));

m_spr.InitSpriteData(66, 67, 5, 10);

}


@Override

public void Destroy() {

// TODO Auto-generated method stub


}


@Override

public void Update() {

// TODO Auto-generated method stub

long GameTime = System.currentTimeMillis();

m_spr.Update(GameTime);


}


@Override

public void Render(Canvas canvas) {

// TODO Auto-generated method stub

m_spr.Draw(canvas);

}


@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

// TODO Auto-generated method stub

return false;

}


@Override

public boolean onTouchEvent(MotionEvent event) {

// TODO Auto-generated method stub

return false;

}


}

뭐가 문제죠ㅠㅠㅠ 프갤형들 도와주어