2013-04-09 26 views
12

Tôi cần cung cấp logic ứng dụng hơi khác nhau tùy thuộc vào nền tảng triển khai mà ứng dụng LibGDX của tôi đang chạy, tức là Máy tính để bàn hoặc Android, v.v., API LibGDX có cung cấp phương pháp xác định nền tảng thời gian chạy hiện tại không?Cách xác định nền tảng nào ứng dụng hiện tại đang chạy trên LibGDX?

post, "abstracting platform specific code in libGDX" cung cấp giải pháp sắp xếp, tôi chỉ tự hỏi liệu có cái gì đó có sẵn trực tiếp trong chính API (?).

Trả lời

16

Bạn có khả năng có thể sử dụng Application#getType(), mà sẽ trả về một trong những giá trị được xác định bởi Application.ApplicationType:

  • Android
  • Applet
  • Desktop
  • iOS
  • WebGL
+1

Một cách khác để làm điều đó là sử dụng một giao diện trong chia sẻ phần mã và giải quyết nó khác nhau trong mỗi dự án phụ. – AbstractChaos

14

Nếu mọi người đang có khó khăn để tìm ra nơi mà bạn thực sự có được ApplicationType từ, nó truy cập từ:

Gdx.app.getType() 

Và đối với một ví dụ làm việc này sẽ làm:

if(Gdx.app.getType() == ApplicationType.iOS) { 
    //Do awesome stuff for iOS here 
} 
Các vấn đề liên quan