마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

★★★ 안드로이드 스튜디오에 그림이 움직이는 코드가 있는데, 핸드폰 종류에 따라서 이동 속도가 너무 차이납니다. ★★★

0 추천
안드로이드 스튜디오로 그림을

이동하게 만드는 코드를 짰습니다.

 

그런데, 제 핸드폰에서의 그림 이동 속도하고

친구의 핸드폰에서의 그림 이동 속도하고

차이가 굉장히 심각할 정도로 많이 납니다.

 

일단 제 예상으로는 (확실하진 않지만)

화면 크기를 구하는 부분에서 뭔가

잘못된 것 같은데 ... (어디까지나 저의 추측)

 

아래는 코드 중에 일부분 입니다.

(질문을 쉽게 이해할 수 있도록 만들기 위해

지금 즉석으로 만들어낸 코드입니다.

해결하려는 문제가 발생하는 부분의 코드하고

그렇게 큰 차이가 없으므로, 문제의 본질은

변하지 않습니다.)

 

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

 

if(touch==1)
{
   moveBallX -= screenWidth/100;
   moveBallY -= screenHeight/100;
}
// 터치를 했을 때 그림이 움직임

 

if(touch==0)
{
   moveBallX += screenWidth/100;
   moveBallY += screenHeight/100;
}
// 터치한 손을 땠을 때 그림이 반대로 움직임

 

/* 처음에는 5씩 증가 또는 감소하게 만들었습니다.
그래서 그게 문제인 줄 알고 위에 보이는 것처럼
화면의 가로, 세로를 100등분으로 나눈 결과 값씩
증가 또는 감소하게 했는데도 해결이 안되네요. */

 

canvas.drawCircle(moveBallX, moveBallY, 50, paint);

 

@Override
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i1)
{
   screenWidth=i;
   moveBallX=i;
   screenHeight=i1;
   moveBallY=i1;
}
/* 이 메소드의 인자 값이 화면 크기를
가지고 있는 값 아니던가요? 근데 왜 이런
문제가 발생하는 건지 ... */

 

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

 

문제가 무엇인지 알고 싶습니다.

도와주세요. ㅠㅠ

 

(참고로 한 가지 더 말씀 드리자면, 위에서

보셨다시피 처음에는 5씩 증가 또는 감소를

시켰다고 했었는데, 제 핸드폰에서는 5씩

증감 시켰을 때도 속도가 꽤 빨랐습니다.

최소한 느리다고는 말할 수 없을 정도는 되었어요.

그런데 친구 핸드폰에서는 엄청 느려터졌더군요.

그래서 화면 가로, 세로 100등분 나누기 결과 값으로

바꾸었는데도 여전히 문제는 해결되지 않았습니다.)
abchs8wyw (1,710 포인트) 님이 2016년 11월 4일 질문
abchs8wyw님이 2016년 11월 4일 수정

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...