ponownie from the documentation, ale skopiowane tutaj dla łatwości użytkowania, a więc mogę wyjaśnić trochę lepiej.
x - the x-coordinate in screen space
y - the y-coordinate in screen space
Te dwie wartości reprezentują lokalizację, w której można narysować teksturę w obszarze ekranu (obszarze gry). Dość samo wyjaśniające.
originX - the x-coordinate of the scaling and rotation origin relative to the screen space coordinates
originY - the y-coordinate of the scaling and rotation origin relative to the screen space coordinates
te dwie wartości reprezentują lokalizację, w której dochodzi do rotacji (i skalowania) w odniesieniu do powierzchni ekranu. Na przykład, jeśli podasz tutaj wartość 0, 0, obrót i skalowanie nastąpi w jednym z narożników twojej tekstury (lewy dolny, jak sądzę), natomiast jeśli podasz centrum (szerokość/2, wysokość/2), obracanie i skalowanie stałoby się wokół środka swojej fakturze (to jest chyba to, co chcesz za „normalnych” obrotów)
width - the width in pixels
height - the height in pixels
wymiarów do rysowania tekstur na ekranie.
scaleX - the scale of the rectangle around originX/originY in x
scaleY - the scale of the rectangle around originX/originY in y
wartości reprezentujące skalę prostokąta, gdzie wartości od 0 do 1 skurczy prostokąta, natomiast wartości większe niż jeden rozszerzy prostokąta. Zwróć uwagę, że jest to w odniesieniu do pochodzenia, które podałeś wcześniej, co oznacza, że jeśli nie jest to środek, obraz może wyglądać na zniekształcony.
rotation - the angle of counter clockwise rotation of the rectangle around originX/originY
kąt obrotu obrazu o. Ponownie, jest to około pochodzenia danego wcześniej, więc rotacja nie może pojawić się „poprawne” czy pochodzenie nie jest centrum obrazu
srcX - the x-coordinate in texel space
srcY - the y-coordinate in texel space
te dwie wartości są lokalizacja począwszy od rzeczywistego obszaru obrazu plik (.png, .jpg, cokolwiek), którego chcesz użyć w pikselach. Zasadniczo początek obrazu.
srcWidth - the source with in texels
srcHeight - the source height in texels
podobnie, te dwie wartości to szerokość i wysokość rzeczywistego regionu używanego pliku obrazu w pikselach.
flipX - whether to flip the sprite horizontally
flipY - whether to flip the sprite vertically
Wreszcie te dwa booleany są używane do odwrócenia obrazu w poziomie lub w pionie.
Teraz możesz zauważyć, że podobny method for drawing TextureRegions nie ma srcX, srcY, srcWidth lub srcHeight. To dlatego, że są to values you give to a texture region when you create it from a texture.
Zasadniczo, co to oznacza to, że polecenie
//with TextureRegions
SpriteBatch.draw(textureRegion, x, y, originX, originY, width, height, scaleX, scaleY, rotation);
jest równoważna
//with Textures from TextureRegions
SpriteBatch.draw(textureRegion.getTexture(), x, y, originX, originY, width, height, scaleX, scaleY, rotation, textureRegion.getRegionX(), textureRegion.getRegionY(), textureRegion.getRegionWidth(), textureRegion.getRegionHeight(), false, false);
Dziękuję bardzo za to, że naprawdę musi umieścić dużo czasu na to, bo to jest niesamowite! !! Bardzo pomocne. Myślę, że Mario z libgdx powinien umieścić to w javadocs dla libgdx. : P Chciałbym oddać głos, ale nie mam wystarczającej liczby przedstawicieli, ale postaram się zdobyć trochę, aby to upomnieć. – vedi0boy
Stało się to dla mnie całkiem jasne, ale zauważ, że 'x' i' y' są względne w stosunku do 'originX' i' originY', które z kolei odnoszą się do obszaru ekranu. Nie wiem, dlaczego dokumentacja stwierdza, że są one względem obszaru ekranu. Ta funkcja dosłownie robi "ostateczny float worldOriginX = x + originX;". – Juan