2011-09-30 4 views
1

18 프레임 길이의 스프라이트를 만들었고 고정되어 있고 프레임을 통과하여 애니메이션을 반복하지만 스프레이가 실행되면 화면 전체에서 천천히 움직입니다. 마지막 프레임에 도달 할 때까지 움직입니다. 그런 다음 머물러 있던 원래 위치로 되돌아옵니다.안드로이드 스프라이트가 움직이지 않을 때 움직입니다.

이유를 모르겠으며 더 작은 크기와 더 큰 크기로 만들려고 시도했지만 일부 크기에서는 움직이지 않고 그냥 움직이는 것이 좋습니다. 사람이 왜 이런 일이 일어나는가에 대한 해답이 있고, 움직이지 못하게하는 방법과 멈추는 방법에 대해 알고 있다면 크게 환영 할 것입니다.

스프라이트에 1 행만 사용하고 gimp를 사용하여 스프라이트를 만들고 png로 저장했습니다.

+0

코드를 추가해야합니다 , 당신이 그것을 어떻게 시험하고 있는지. –

답변

0

이 코드는 내가 그것을 추가하지 않은 이유를 다소 긴 그게하지만이 튜토리얼 aquarium live wallpaper tutorial

나는 내가 그릴 수라는 만든 폴더에 PNG로 스프라이트를했다, 그래도 난 내 대답을 찾을 생각을 기반으로, 나는 모든 이미지를 넣었지만, 다시 시도했지만 이번에는 다른 폴더에 스프라이트를 놓았다. 움직이지 않았다. 스프라이트를 스케일링 해 보았는데, 약간의 불안감이 생겼다. 대신 스케일링을 사용하고 싶었다. 그것은 모든 화면에 대해 동일한 크기를 유지했으나 정상적인 이미지에서는 작동하지만 스프라이트에서는 문제가 발생합니다. drawable-large-mdpi 폴더에서 가장 큰 크기로 시도해보고 문제가 발생하는지 확인합니다. 그 방법으로 업데이트하고 알려 드리겠습니다. 하나의 이미지 만 있고 화면 크기에 따라 이미지를 확대하는 것이 좋습니다.

좋아요. 마지막으로 대답을 찾았습니다. 스프라이트를 만드는 데 도움이 될 수 있습니다. 측정 값이 실수 또는 실수가 아닌 int 값이어야하므로 너비 프레임으로 나눌 때 너비가 정수가되어야합니다. 프레임 나눠지면 분수로 나왔다. 그 대신에 플로트 추가 측정이 무엇이든 움직임을 유발했다. 예 : 스프라이트의 높이가 100 픽셀이고 너비가 1082 픽셀이고 프레임 수가 15 개인 경우 각 프레임의 너비가 72.133333333px가되어 애니메이션을 멋지게 유지하면서 이미지를 추가 길이만큼 이동시키는 오류가 발생합니다. . 이제 1080px 너비라면 각 프레임은 72px 너비의 멋진 정수가되고 완벽하게 움직입니다. 그래서 스프라이트를 만드는 사람들은 프레임이 나뉘어 질 때 와이드 (wide)가 정수가되도록해야합니다. (문제는 하나의 이미지를 생성하여 각 프레임의 너비를 확인하지 않고 일반적으로 하나의 이미지 크기 작동, 때로는 운이 좋았고 두 가지를 얻었습니다. 너비를 측정하기 위해 부동 소수점이 부동 소수점으로 실행되기 때문에이 값을 알아 내야합니다. 다른 사람이 스프라이트를 만드는 데 도움이되기를 바랍니다. Sam