2011-10-16 5 views
0

나는 캐릭터를 구성하는 6 개의 다른 그림이 있습니다. 파트는 오른손, 왼손, 머리, 눈, 셔츠 (신체) 및 바지 (다리)입니다. 캐릭터를 구성하는 가장 쉬운 부분은 무엇입니까? 지금은 예를 들어 모든 것을 순서대로 작성하고 계산하는 하나의 방법을 사용하고 있습니다 :6 비트 맵에서 캐릭터를 만드는 방법은 무엇입니까?

 canvas.drawBitmap(handL, pX - handL.getWidth()+ (handR.getWidth()), pY - shirt.getHeight() + handL.getWidth(), null); 
     canvas.drawBitmap(pants, pX , pY-handR.getWidth(), null); 
     canvas.drawBitmap(shirt, pX, pY - shirt.getHeight(), null); 
     canvas.drawBitmap(head, hX, hY, null); 
     canvas.drawBitmap(handR, pX + shirt.getWidth() - (2 *handR.getWidth()/3), pY - shirt.getHeight() + handR.getWidth(), null); 
     hX = pX - (handR.getWidth()/2) ; 
     hY=pY - shirt.getHeight()- head.getHeight() +2; 

이 모든 것을 계산하기 어려운했지만 반 시간 후에 내가 그것을 알아 냈어. 나는 여러 번 사용해야 할 것이기 때문에 더 쉬운 방법을 원합니다. 나는 그것을 여러 번 다시 쓰고 싶지 않습니다.

감사

답변

0

문자 부품을 생성하고 업데이트하는 좋은 방법은 스프라이트와 함께 작동하는 것입니다. 캐릭터가 필요로하는 모든 부분으로 구성된 이미지를 작성한 다음 각 부분의 위치를 ​​계산합니다 (모든 부분이 50x50 인 경우 매우 간단합니다). 그런 다음 디스플레이 크기와 이미지 위치를 변경하여 원하는 부분 만 표시한다는 점을 제외하고 모든 부품에 동일한 이미지를 추가합니다.

이렇게하면 이미지 경로를 업데이트 할 필요가 없습니다. 왜냐하면 모든 것은 스프라이트에있는 위치에 따라 달라지기 때문입니다.

(나는 unforunately 단지 안드로이드에 스프라이트를 만드는 방법에 오픈 된 안드로이드 아직하지만, 새로운 스레드에서 근무하지 않습니다 How to make sprites in Android)

는 희망이

+0

당신이 예제 코드를 제공 할 수 있습니다 ? 나는 스프라이트를 사용하여 무슨 뜻인지 이해하지 못한다. 내가 원하는 것은 미래에 그들을 그리는 것입니다. 갑옷에 대한 전체 그림을 바꾸지 않아도됩니다. 나는 많은 조합을 만들 수 있기를 바랍니다. 그래서 그것들을 레이어로 만드는 것입니다. – Baruch

+0

방금 ​​전에이 질문에 새로운 글이 있다고 말하면서 나는 개인적으로 안드로이드로 일하지 않았지만, 이것에 대해 뭔가 있다고 확신합니다. 스프라이트가 의미하는 것은 캐릭터의 가능한 모든 부분을 포함하는 이미지입니다. 예를 들어 3 가지 종류의 머리, 2 가지 종류의 손 등이 있다면 스프라이트 이미지에는 18-20 개의 이미지가 모두 포함됩니다. 모든 부분이 동일한 이미지이지만 다른 부분에 있기 때문에 디스플레이에서 멋지게 처리됩니다. 스프라이트 생성기의 예는 http://csssprites.com/을 참조하십시오. –

+0

감사합니다. 내일 그것을 확인하려고합니다. – Baruch

관련 문제