2013-08-15 39 views
10

Tôi cố gắng để thiết lập một biểu tượng ứng dụng từ các lớp học cụ thể -desktop với:Cách đặt biểu tượng ứng dụng cho ứng dụng máy tính để bàn libGDX?

package org.osgameseed.games.animalflip; 

import com.badlogic.gdx.Files; 
import com.badlogic.gdx.backends.lwjgl.LwjglApplication; 
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration; 

public class Main { 
    public static void main(String[] args) { 
     LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration(); 
     cfg.title = "AnimalFlip"; 
     cfg.useGL20 = false; 
     cfg.width = 800; 
     cfg.height = 600; 
     cfg.addIcon("data/ic_launcher.png", Files.FileType.Internal); 

     new LwjglApplication(new AnimalFlipGame(), cfg); 
    } 
} 

Biểu tượng không được thiết lập (ít nhất là trên Linux), bất kỳ ý tưởng về làm thế nào để thiết lập nó?

+0

Có thể hình ảnh của bạn không được đưa vào khi bạn xuất hoặc không đúng vị trí. Làm thế nào để bạn xuất khẩu? –

+0

Afaik bạn không cần phải xuất hình ảnh, nó được đặt trên đường dẫn dữ liệu thích hợp, trình tải cấu hình sẽ thất bại nếu tôi đổi tên tệp để tôi chắc chắn rằng nó đang được tải. –

+0

Đó không phải là ý tôi. Ví dụ: nếu bạn xuất từ ​​nhật thực dưới dạng jar, nội dung của bạn có thể không được xuất như bạn có trong thư mục. –

Trả lời

9

Hãy xem vào api (addIcon (...)):

Thêm một biểu tượng cửa sổ. Các biểu tượng được thử theo thứ tự được thêm vào, công cụ đầu tiên hoạt động được sử dụng. Thông thường phải cung cấp ba biểu tượng: 128x128 (dành cho Mac), 32x32 (dành cho Windows và Linux) và 16x16 (dành cho Windows).

Có thể biểu tượng của bạn có kích thước không đúng, vì vậy nó sẽ không được đặt. Khác nó sẽ làm việc!

Chỉ cần đề cập đến bạn chỉ cần đặt biểu tượng nhỏ ở cạnh trên bên trái (nếu ứng dụng được bắt đầu) với nó không phải là biểu tượng bạn sẽ thấy trên màn hình nền!
the small icon

+1

Biểu tượng có độ mờ phù hợp: ic_launcher.png: Dữ liệu ảnh PNG, 32 x 32, 8 bit/màu RGBA, không xen kẽ, tuy nhiên biểu tượng không hiển thị. –

+2

Có ai tìm thấy giải pháp này không? Nó cũng không hiển thị trên máy Mac của tôi. –

+0

Vậy làm cách nào để bạn đặt biểu tượng trên màn hình? Điều này không trả lời câu hỏi gốc. – Jake

0

đã đưa Biểu tượng vào Mac-Dock của tôi! ;) Hãy chắc chắn gọi nó trong Lwjgl-Thread

/** 
* workaround for Mac 
*/ 
private static void setApplicationIcon() { 
    try { 
     Class<?> cls = Class.forName("com.apple.eawt.Application"); 
     Object application = cls.newInstance().getClass().getMethod("getApplication").invoke(null); 

     FileHandle icon = Gdx.files.local("icons/icon.png"); 
     application.getClass().getMethod("setDockIconImage", java.awt.Image.class) 
       .invoke(application, new ImageIcon(icon.file().getAbsolutePath()).getImage()); 
    } catch (Exception e) { 
     // nobody cares! 
    } 
} 
Các vấn đề liên quan