티스토리 뷰

Programming/Information

내가 구현 한 FPS

군자동꽃미남 2015. 12. 10. 00:48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package FrameWork;
 
/**
 * Created by AVG on 2015-09-20.
 */
public class cFPS
{
    private int             mDrawPerSec; // 1초에 그려줄 프레임 개수
    private int             mFPS;               // 초당 프레임
    private long            mFrameTimer;        // 누적 시간량
 
    public cFPS()
    {
        mDrawPerSec  = 0;
        mFPS                = 0;
        mFrameTimer         = 0;
    }
 
 
    public cFPS(int _fps)
    {
        mDrawPerSec  = _fps;
        mFPS                = 10000 / _fps;
        mFrameTimer         = 0;
    }
 
 
    public void initFPS(int _fps)
    {
        mDrawPerSec  = _fps;
        mFPS                = 10000 / _fps;
    }
 
 
    /** 새롭게 넘어온 _fps 를 이용하여 mFPS 재설정.
     *  속도를 빠르게, 느리게 할 수 있음.
     *  getDrawPerSec() + 10 => 기존의 1초에 그려줄 프레임 개수에서 + 10
     *  mFPS = 1000 / 기존의 1초에 그려줄 프레임개수 + 10
     *  속도가 빨라짐 */
    public void setFPS(int _fps)
    {
        mDrawPerSec  = _fps;
        mFPS                = 1000 / _fps;
    }
 
 
    /** 현재 초당 얼마나 그려지는지 반환. */
    public int getFPS()
    {
        return mFPS;
    }
 
 
    /** 초당 그려지는 프레임 개수 반환 */
    public int getDrawPerSec()
    {
        return mDrawPerSec;
    }
 
 
    public boolean tick(long _gameTime)
    {
        if (mFrameTimer == 0)
            mFrameTimer       = _gameTime;        
        if ( _gameTime > mFrameTimer + mFPS)
        {
            mFrameTimer     = _gameTime;
            return true;
        }
        return false;
    }
}

// 사용 방법
public void update(long _theta) {
    // TODO Auto-generated method stub
    if (fps.tick(_theta))
        cGameManager.getInstance().getGameView().changeGameState(new cMenu());
}
cs


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함