티스토리 뷰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/** ldpi(120dpi /기타 소형단말기) : 240 x 320
 *  mdpi(160dpi/G1, 옵티머스원): 320 x 480
 *  mdpi(160dpi/G1, 갤럭시 탭 7.0,):600 x 1024
 *  mdpi(160dpi/G1, 모토롤라 Xoom 10,갤럭시탭 7.7 & 10.1):1280 x 800
 *  hdpi(240dpi / 갤럭시 S/S2) : 480 x 800
 *  hdpi(240dpi / 모토로라 드로이드, XPERIA X10) : 480 x 854
 *  xhdpi(320dpi / 갤럭시 S3/노트II ) : 720 x 1280
 *  xhdpi(320dpi / 삼성 갤럭시 넥서스 ) : 720 x 1194 or 1280
 *  xhdpi(320dpi / 삼성 갤럭시 노트I  : 800 x 1280
 *  xhdpi(320dpi / LG 옵티머스G, 넥서스4) : 768 x 1280
 *  xxhdpi(480dpi / 갤럭시 S4 & 옵티머스G프로) : 1080×1920
 *  xxxhdpi(640dpi / LG G3) : 1440×2560 */
/** 이미지를 그려줄때 기반이 되는 모바일 디스플레이 사이즈. (이걸 기반으로 이미지를 리사이징해줌.) 현재 320dpi 기반. */
mViewWidth          = 600;
mViewHeight         = 1024;
cs

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
public void setPosition(int _x, int _y)
{
    mX                  = (float)(_x / mViewWidth);
    mY                  = (float)(_y / mViewHeight);
}
 
public void setSize(int _w, int _h)
{
    //TODO:: 이미지를 DPI에 맞게 기반이 되는 모바일 디스플레이 DPI의 사이즈 비율로 반환.
    mW                  = (float)((_w / (cGameManager.getInstance().getDisplayMetrics().densityDpi/160)) / mViewWidth);
    mH                  = (float)((_h / (cGameManager.getInstance().getDisplayMetrics().densityDpi/160)) / mViewHeight);
}
 
public Point getPosition()
{
    //TODO:: 원하는 디스플레이 DPI의 사이즈 비율로 변환된 값을 현재 디스플레이의 값을 곱해 현재 디스플레이의 크기에 알맞도록 이미지 위치 설정.
    Point               pos = new Point();
    pos.x               = (int)(mX * cGameManager.getInstance().getDisplayMetrics().widthPixels);
    pos.y               = (int)(mY * cGameManager.getInstance().getDisplayMetrics().heightPixels);
    return pos;
}
 
public int getWidth()
{
    int                 w = (int)(mW * cGameManager.getInstance().getDisplayMetrics().widthPixels);
    return w;
}
 
public int getHeight()
{
    int                 h = (int)(mH * cGameManager.getInstance().getDisplayMetrics().heightPixels);
    return h;
}
cs


1
2
3
4
5
6
7
8
9
public void draw(Canvas _canvas)
{
    if (mEnable == true && mBitmap != null)
    {
        Rect            dst = new Rect();
        dst.set(getPosition().x, getPosition().y, getPosition().x + getWidth(), getPosition().y + getHeight());
        _canvas.drawBitmap(mBitmap, null, dst, null);
    }
}
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
글 보관함