Đề xuất một công cụ trò chơi với GUI 2D cho trò chơi chiến lược chuyên sâu về UI [đã đóng]


11

Vâng, đây là một yêu cầu công cụ trò chơi đề nghị khác; 'xoắn' là tôi đang làm một trò chơi chiến lược và trên đỉnh các họa tiết, hoạt hình và trừu tượng hóa các điều khiển đầu vào, nó phải có hỗ trợ GUI cho các điều khiển khá phức tạp, chẳng hạn như thanh cuộn, hộp chọn, nút, v.v.

Tôi đã thử XNA với nhiều thư viện GUI khác nhau, nhưng vấn đề là những thư viện đó chưa được 'hoàn thành'. Tôi chỉ tự hỏi nếu có những động cơ khác mà tôi có thể nhìn vào?

Câu trả lời:


5

libRocket gần đây đã đi nguồn mở.

Nó không phải là một công cụ trò chơi. Họ mô tả mình là phần mềm trung gian. Nhưng thư viện được thực hiện khá tốt, tập trung vào việc loại bỏ mã soạn sẵn khỏi thiết kế GUI của bạn. Nó dựa trên XHTML và CSS, vì vậy nếu bạn đã quen thuộc với nhà phát triển Web thì nó có thể rất phù hợp.

Nhưng nó không phải là một công cụ trò chơi, bạn vẫn sẽ cần giải quyết các vấn đề đó một cách riêng biệt. Bạn có thể tìm thấy một số hướng dẫn với câu hỏi này.
Công cụ trò chơi 2D được đề xuất cho tạo mẫu


LibRocket có kết xuất các thành phần GUI hay chỉ cung cấp một mô tả? Xin lỗi nếu đây là một câu hỏi ngớ ngẩn, nhưng danh sách tính năng không thực sự nêu nếu nó thực sự hiển thị.
Extrakun

1
Nó sử dụng một phụ trợ kết xuất trừu tượng. Tùy thuộc vào người dùng để xác định riêng của họ. Tuy nhiên, thư mục mẫu có trình kết xuất cụ thể cho Ogre3D, DirectX và OpenGL.
deft_code

2

Tôi không biết bất kỳ công cụ trò chơi miễn phí nào đi kèm với thư viện UI cấp Windows, nhưng CEGUI là một giải pháp hoàn thiện cho những người sử dụng OGRE .

Một tùy chọn khác là sử dụng GTK + hoặc tiện ích gốc của nền tảng của bạn được đặt trên Win32 / OS X và nhúng bối cảnh OpenGL bên trong một trong các tiện ích đó. Đó thường là những UI "tốt nhất" nếu bạn đang tìm kiếm một danh sách tính năng dài.

Nếu nền tảng mục tiêu của bạn là XNA, bạn sẽ không tìm thấy nhiều hữu ích. Điểm bán hàng quan trọng của XNA là khả năng tương thích đa nền tảng, điều đó có nghĩa là kiểm soát chuột nặng không phải là ưu tiên của những người sử dụng nó.


Thành thật mà nói, tôi đã tự hỏi về việc sử dụng Qt 4.5, mặc dù vậy, tôi muốn tìm hiểu xem có ai có bất kỳ kinh nghiệm nào về việc tạo nó giống như một môi trường trong trò chơi hay chạy nó trên SDL không.
Extrakun

CEGUI cũng có thể được sử dụng trực tiếp trong OpenGL và các công cụ kết xuất khác ...
Klaim

2

XPF vẫn còn sớm trong quá trình phát triển, nhưng nó đang tiến triển khá nhanh. Nó dựa trên WPF và Silverlight một cách lỏng lẻo, nhưng nó được phát triển cho XNA.


2

Chà, nếu bạn không ngại chuyển từ C # sang C ++, bạn có thể kiểm tra HGE . Đó là một chút về phía cũ nhưng rất dễ sử dụng và mở rộng. Nếu bạn sẵn sàng tìm kiếm các diễn đàn một chút, bạn sẽ tìm thấy các cổng của nó cho DirectX 9 và có thể là OpenGL (đã được một lúc rồi). Theo mặc định, nó không hỗ trợ những thứ như shader. Nó bao gồm âm thanh và đầu vào, nhưng không phát hiện va chạm vật lý. Cho rằng luôn có Bullet hoặc Box2D. Đối với một trò chơi theo lượt hoặc trò chơi thời gian thực đơn giản mà thậm chí có thể không cần thiết.

Theo GUI, GUI tích hợp của nó là rác, nhưng bạn có thể tích hợp CEGUI vào nó. CEGUI thực sự khá dễ dàng để mở rộng sang các hệ thống kết xuất khác nhau, ngay cả khi lột da có thể rất cồng kềnh. Việc triển khai cho HGE là hai tệp và chúng khá ngắn.

Clanlib cũng có thể là một cái gì đó bạn muốn xem xét. Tôi đã không sử dụng nó một cách cá nhân nhưng nó có vẻ khá mạnh mẽ và bao gồm một thành phần GUI khá đơn giản. Nó cũng được tích cực phát triển trong khi HGE đã không được cập nhật trong một vài năm.


2

Còn với XNA, bạn đã thử dùng FlatRedBall kết hợp với Neoforce chưa?


Tôi đã dùng thử FlatRedBall, nhưng chưa nghe nói về Neoforce. Sẽ kiểm tra xem! Khi kiểm tra Neofroce: Than ôi, giống như nhiều dự án GUI XNA, chúng không được các nhà phát triển của họ duy trì. Nếu chỉ có Microsoft sẽ biến GUI thành một phần của lõi XNA.
Extrakun

Neoforce không còn nhà phát triển nữa nhưng mọi người đều có thể nhận và bảo trì miễn phí; p
Oskar Duveborn

2

Bạn có thể cho Squid thử. Đó là một guk sdk độc lập cho động cơ cho .net (được viết bởi tôi: P). Ở đây: http://www.ionstar.org/?page_id=4


Tôi ước có một cách để đánh dấu hai câu trả lời đúng
Extrakun

0

Nếu bạn không tự mình thực hiện một số điều khiển và mong muốn có nhiều điều khiển tùy chỉnh và hãy xem Scaleform . Đây là một trong những giao diện người dùng hàng đầu trong menu trò chơi.

Bạn có thể nghĩ về nó giống như một trình phát Flash trong trò chơi.


-1

Bạn có thể xem xét chế độ GUI ngay lập tức phương pháp đó là có sẵn trong Unity 3D . Unity 3D là một công cụ trò chơi tuyệt vời, hoạt động rất tốt 3-D, 2-D và GUI trong số những thứ khác.


Như tôi đã đề cập trong một câu hỏi UI khác, tôi chưa bao giờ thấy quy mô IMGUI lên đến nhiều cửa sổ, hộp tổ hợp và điều khiển danh sách cột. Bạn đạt được các bức tường hiệu quả và các bức tường thiết kế API khá nhanh chóng. Thư viện GUI hiện tại của Unity chắc chắn không có quy mô tốt, về hiệu suất hoặc tính năng.

Thật thú vị khi lưu ý rằng GUI riêng của Unity được triển khai bằng hệ thống IMGUI mà họ cung cấp.
Jason Kozak

@Jason: Đó là một nửa sự thật. Trình chỉnh sửa Unity ( unity3d.com/support/documentation/ScriptReference/, ) cung cấp nhiều tiện ích nguyên thủy hơn so với GUILayout thông thường. Bạn cũng sẽ thấy rằng các widget đó bị thiếu sức mạnh rất nhiều so với một thư viện GUI thông thường. Và thẳng thắn nếu một trò chơi có giao diện người dùng giống như trình soạn thảo Unity - về khả năng phản hồi, hành vi tập trung, quy tắc kích hoạt, v.v., không đề cập đến giao diện - tôi ghét nó.

@Joe Một điểm công bằng nếu bạn đang phát triển trò chơi trong Unity; ý định của tôi mặc dù chỉ để chỉ ra một ví dụ về hành động phức tạp hơn của IMGUI. Vì Unity là miễn phí, nên việc tải xuống và đánh giá khá dễ dàng.
Jason Kozak

GUI của IMHO Unity3D phải được tăng cường với một số thư viện bên thứ ba nếu bạn muốn lập trình OOP, chẳng hạn như GUIX. Tuy nhiên, Unity3D có một lỗi khó chịu khi bạn có thể nhấp qua các thành phần UI vào trình thu thập được gắn vào các thực thể. Điều này được chào mời để được sửa chữa trong phiên bản tiếp theo. Tuy nhiên, hiện tại tôi đang nghĩ đến 2D và để thực hiện 2D trong Unity3D đòi hỏi một số vòng quay để nhảy qua. Đó là một công cụ nhanh chóng tốt cho công cụ 3D.
Extrakun
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.