2013-06-02 34 views
7

Tôi đã lừa dối LibGDX một thời gian và muốn dễ dàng chuyển các chương trình của tôi sang các hệ thống khác nhau. Tôi có một kết cấu nền, mà tôi muốn mở rộng đến độ phân giải hiện đang sử dụng. Hình ảnh là 1920x1080, làm thế nào để thay đổi nó thành độ phân giải hiện đang được sử dụng khi chạy?(Java LibGDX) Làm cách nào để thay đổi kích thước họa tiết của tôi trong LibGDX?

+1

Có rất nhiều cách để nswer câu hỏi này phụ thuộc vào cách bạn sẽ render texture. Bạn có thể cung cấp thêm chi tiết cụ thể về những gì bạn đang làm không? –

Trả lời

9
batch.begin(); 
    batch.draw(yourtexture, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 
    batch.end(); 

Sử dụng khung nhìn camera cũng hoạt động:

batch.begin(); 
    batch.draw(yourtexture, 0, 0, cam.viewportWidth, cam.viewportHeight); 
    batch.end(); 
+6

Đó không phải là thực sự scalling, chỉ là thu hẹp kết cấu khi được rút ra, các thiết bị nghèo sẽ có vấn đề với điều này .. –

5

Nếu bạn muốn mở rộng quy mô tại vẽ thời gian sử dụng:

Pixmap pixmap200 = new Pixmap(Gdx.files.internal("200x200.png")); 
Pixmap pixmap100 = new Pixmap(100, 100, pixmap200.getFormat()); 
pixmap100.drawPixmap(pixmap200, 
     0, 0, pixmap200.getWidth(), pixmap200.getHeight(), 
     0, 0, pixmap100.getWidth(), pixmap100.getHeight() 
); 
Texture texture = new Texture(pixmap100); 
pixmap200.dispose(); 
pixmap100.dispose(); 

Từ:

https://www.snip2code.com/Snippet/774713/LibGDX-Resize-texture-on-load

Các vấn đề liên quan