본문 바로가기

GAME/안드로이드_알고리즘4

안드로이드 캔버스 기준좌표. 캔버스 내에 기준 좌표값. 이미지 0 ,0 ; 텍스트 0 , 택스트의 높이값; paint.setTextSize('값'); 값 = 텍스트 사이즈를 정해주면 값과 근사치의 높이가 나옴. 자바 절대값 Math.abs('값'); 값= 안에 들어있는 값은 절대값으로 나옴.(-값을 +값으로 변경함.) 예) String str = "가나다" ; Rect rect = new Rect(); Paint paint = new Paint(); void onDraw(Canvas canvas){ paint.getTextBounds(str,0,str.length(),rect); int tempY = (int)Math.abs(rect.top - rect.bottom); tempY = 높이값. } 지정 좌표에 이미지를 중심점으로 두고.. 2014. 12. 1.
스케일 터치이벤트 // 기본 800x1280 해상도 대응.float SCALE_X = screen_width / 800f;float SCALE_Y = screen_height / 1280f;// 기본 800x1280 터치 대응.float EVENT_X = 800f / screen_width;float EVENT_Y = 1280f / screen_height; //켄버스canvas.scale(SCALE_X, SCALE_Y); //터치이벤트event_X = event.getX() * EVENT_X;event_Y = event.getY() * EVENT_Y; 2014. 11. 24.
안드로이드 조이스틱 패드 만들기. 안드로이드 조이스틱 패드 만들기. 조이스틱 배경 위치. 조이스틱 이동 키 위치. 조이스틱 반지름 값. 조이스틱 터치시 패드안에서의 이동 확인. 조이스틱 배경위치(중심점)에서 반지름 값 만큼 최대거리 확보. 중심점값과 터치한 값 확인하여 각을 계산(3시 방향으로 0도 기준.) 각값으로 중심점과 터치한 값의 최대 반지름 길이 값을 확인. 터치한값이 조이스틱 배경에 있는지 확인. 있다면 유닛이동함. 유닛 이동시 원중심에서 멀어질수록 속도가 빠르게 함. 터치한 - 조이스틱 배경값 을 가지고 유닛포인트 값 + Math.cos(rad) * radius * 0.1f) + (터치한 - 조이스틱 배경값) = x, 유닛포인트 값 + Math.sin(rad) * radius * 0.1f) + (터치한 - 조이스틱 배경값) .. 2014. 11. 21.
canvas 이미지 회전. private Matrix m_Matrix = new Matrix();private Matrix m_Matrix_ = new Matrix();//회전 시 기존에 나와있는 Bitmap.createBitmap 할경우 gc 발동 한다. //이 방법은 gc 생성없이 부드러운 동작을 한다.public Matrix setRotate(float degrees, Bitmap bitmap) {//매트릭스 변수에 m_Matrix_ 을 set 하는 이유는 초기화 하는 듯... m_Matrix.set(m_Matrix_);// 회전 값을 주고 회전할 위치를 정해준다. // 이미지의 중앙을 회전한다.m_Matrix.postRotate(degrees, bitmap.getWidth() / 2, bitmap.getHeight() / .. 2014. 11. 21.