6
tôi tạo ra một máy ảnh:libgdx setOrigin và setPosition không hoạt động như mong đợi?
camera = new OrthographicCamera(5.0f, 5.0f * h/w);
Tạo một sprite:
ballTexture = new Texture(Gdx.files.internal("data/ball.png"));
ballTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
TextureRegion region = new TextureRegion(ballTexture, 0, 0, ballTexture.getWidth(), ballTexture.getHeight());
ball = new Sprite(region);
Đặt nguồn gốc, kích thước, và vị trí:
ball.setOrigin(ball.getWidth()/2,ball.getHeight()/2);
ball.setSize(0.5f, 0.5f * ball.getHeight()/ball.getWidth());
ball.setPosition(0.0f, 0.0f);
Sau đó, làm cho nó:
batch.setProjectionMatrix(camera.combined);
batch.begin();
ball.draw(batch);
batch.end();
Nhưng khi tôi render nó, phía dưới bên trái của bóng ma của tôi là tại (0, 0), không phải là trung tâm của nó, như tôi mong đợi nó là bởi vì tôi đặt nguồn gốc là trung tâm của sprite. Tôi đang thiếu gì?
Ah, tất nhiên. Tôi đọc điều đó, nhưng không đặt 2 và 2 lại với nhau. Cảm ơn. – shino
Tôi biết nó không liên quan đến vị trí nhưng tại sao câu này trong Tài liệu cho phương thức vị trí đã đặt? : Đặt vị trí nơi sẽ vẽ sprite. Nếu nguồn gốc, luân chuyển hoặc tỷ lệ được thay đổi, sẽ hiệu quả hơn một chút để đặt vị trí sau các hoạt động đó. – LeSam
Vui lòng cập nhật liên kết – therealprashant