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

다른 함수의 매개변수 이용하기..

0 추천

 

@Override
public void onDraw(Canvas canvas) {
float ScaleX = canvas.getWidth()/ 320f;
float ScaleY = canvas.getHeight() / 480f;
canvas.scale( ScaleX, ScaleY );
canvas.drawBitmap(m_BackGroundImage, 0,0,null);

}

@Override
public boolean onTouchEvent(MotionEvent event) {
float Scale_X = 320f / canvas.getWidth();
float Scale_Y = 480f / canvas.getHeight();
int px = (int)event.getX();
int py = (int)event.getY();
}

현재 문제가 되고 있는 부분은 위에 빨간색 부분입니다.

onDraw 함수에서 지역변수 canvas를 선언했는데 다른 함수에서 사용하려고 보니 문제가 생기네요...ㅠ

어떻게 하면 쉽게 사용할 수 있을까요.??? 다른 class의 함수같은 경우는 새로운 객체를 생성해서 이용했엇는데 말이죠..

도움 부탁합니다.

 

laneige (420 포인트) 님이 2013년 3월 27일 질문

1개의 답변

+1 추천
 
채택된 답변
하나 말씀드리자면... Canvas는 지역변수가 아니고 매개변수입니다

그리고 저 값만 받아오면 된다면 클래스단위의 변수를 2개 생성해셔서 각자 getWidth값과 getHeight값을 저장해 놓으세요
수상한i (8,050 포인트) 님이 2013년 3월 27일 답변
laneige님이 2013년 3월 27일 채택됨
음... 그 방법은 안되던데..
int hi ;
int low;
public void onDraw(Canvas canvas) {
hi = canvas.getWidth();
low = canvas.getheight();

이방법 말하는거죠.??;;
hi low? 저건 width는 가로고 height는 세론데요;;
어쨋든 맞습니다 저 방법은 onDraw다음에 onTouchEvent가 호출되면 정상적으로 작동하는데 그 반대의 경우는 없을겁니다.. 그린담에 터치가 가능할테니 ㅋ
...