Thay thế cho pyGame? [đóng cửa]


7

Tôi đang học được điều gì đó về lập trình trò chơi từ một cuốn sách về "pyGame". pyGame rất đơn giản, nhưng ... python hơi phức tạp và khác biệt so với kiến ​​thức trước đây của tôi về lập trình.

Tôi biết ngôn ngữ "cổ điển": C # (cũng là C / C ++), Java ... Tôi biết rất nhiều người yêu thích Python nhưng đối với tôi thì khó học hơn một chút!

Vì vậy, tôi đang tìm kiếm một cái gì đó như "pyGame" nhưng cho java hoặc cho c # ... Một thư viện mà tôi có thể làm gần như tương tự với pygame (vì vậy .. làm nhiều hơn với ít mã hơn ... và đau đầu) .


5
Thành thật mà nói, tôi sẽ dành một buổi chiều với Hướng dẫn Python ( docs.python.org/tutorial ). Python có một vài điều kỳ lạ, nhưng đó là một ngôn ngữ khá đơn giản để học.
drxzcl

3
Bạn sẽ không tìm thấy nhiều cho phép bạn làm nhiều hơn với ít mã hơn Pygame. Mô hình kết xuất của Pygame đơn giản đến mức ngu ngốc và vô dụng trên các máy tính hiện đại (bộ đệm khung bên CPU), và giao diện gần như cao cấp như bạn có thể có cho những thứ đó.

3
phức tạp? trăn? sbrotfl. Tìm hiểu sâu về Python là một trong những hướng dẫn tốt nhất mà tôi từng đọc diveintopython.org/toc/index.html
o0 '.

Tôi đã học Python vào một buổi chiều (từ nhiều năm kinh nghiệm về C ++) và trong vòng một tuần tôi đã viết nhiều chức năng nhanh hơn trong Pygame.
dash-tom-bang

3
Về mặt thứ hai cho câu hỏi này, nó rất sai lệch. Tiêu đề gợi ý 'Những thư viện nào khác dành cho python?' nhưng câu hỏi thực sự là 'API 2D nào có cho java hoặc C #?' đó là hoàn toàn khác nhau.
Vịt Cộng sản

Câu trả lời:


7

Tình yêu cung cấp một mức độ phức tạp tương tự như PyGame, mặc dù tôi không chắc bạn sẽ tìm thấy Lua dễ dàng hơn nhiều so với Python. Nếu bạn muốn sử dụng thứ gì đó trực tiếp hơn, hãy tìm các ràng buộc cho SDL ( ví dụ SDL.NET ) cho ngôn ngữ yêu thích của bạn hoặc thậm chí chỉ sử dụng trực tiếp trong C. Nhiều API PyGame chỉ là các trình bao bọc mỏng cho chức năng SDL.


Cảm ơn bạn, tôi đã không biết SDL.NET. Tôi nghĩ đó là những gì tôi đang tìm kiếm;)!
stighy

1
nitpick: Đó là LVE.
egarcia

Thư viện LÖVE thực sự dễ dàng bắt đầu hơn so với PyGame vì rất nhiều thứ nhỏ xinh như hoạt hình sprite đã được thực hiện cho bạn.
James

4

Tôi không quen thuộc với pyGame nhưng nếu bạn đang tìm kiếm một khung công tác dễ sử dụng để phát triển trò chơi, tại sao không sử dụng XNA 4.0? Nó miễn phí và cho phép bạn tạo các trò chơi có thể chơi trên XBox 360, Zune HD hoặc Windows Phone 7.

Lợi ích của việc sử dụng này là bạn có thể dễ dàng tận dụng kiến ​​thức C # của mình và bắt đầu làm việc ngay với việc học khung thay vì vật lộn với ngôn ngữ.

Tôi đánh giá cao đề nghị bạn bắt đầu học XNA bằng cách làm theo loạt tuyệt vời này các hướng dẫn được thực hiện bởi Riemers .


3
Làm quen với cả hai, XNA không giống với PyGame. Các API đồ họa ở mức thấp hơn nhiều và nó không cung cấp bất cứ thứ gì như hệ thống sprite cơ bản trong PyGame.
coderanger

Sau đó, giải quyết nó; XNA có lẽ sẽ là sự lựa chọn tốt nhất của bạn OP. Nó rất đơn giản để sử dụng và hiệu quả.

@coderanger: XNA có sprite. msdn.microsoft.com/en-us/l Library / bb194908.aspx . Chúng tốt hơn đáng kể so với các sprite Pygame, vì chúng thực sự có thể sử dụng khả năng tăng tốc phần cứng. (Và do đó xoay tốt, đổ bóng, v.v.)

1
Tôi thực sự khuyên dùng XNA cho người mới bắt đầu. Tôi đã có một trải nghiệm khá tốt với nó.
Michael Coleman

1
Tôi chỉ ra rằng hỗ trợ nền tảng của XNA hoàn toàn khác với PyGame. Nó hầu như không thay thế nếu bạn đang nhắm mục tiêu bất kỳ thiết bị không phải MS nào.
egarcia

3

http://wiki.python.org/moin/PythonGames có danh sách các thư viện / công cụ trò chơi python. Một số công cụ trò chơi trong danh sách không chỉ có Python. Ogre và Panda là những người nổi tiếng trong cả hai bạn có thể sử dụng c ++.


2

Ctrl + C Ctrl + V từ một câu hỏi khác mà tôi đã đăng trên

Nhẹ nhàng là một thư viện Java 2D đẹp mắt dựa trên LWJGL. Nó xử lý vòng lặp trò chơi, kết xuất và chứa chức năng hữu ích để thực hiện các họa tiết.

Nó đi kèm với nhiều bản demo và ví dụ khác nhau.

Những thứ như tilemaps, sprite sheet, v.v ... đều được tích hợp sẵn. Về cơ bản cho phép bạn tập trung vào trò chơi, chứ không phải cách viết một công cụ.


Ctrl + P làm gì?
DMan

Lỗi đánh máy = p Ctrl + V
David Young

1

Nếu bạn biết C, tôi muốn giới thiệu Allegro, thư viện lập trình trò chơi. Đó là những gì tôi đã sử dụng khi tôi tham gia vào trò chơi dev và lúc đó nó đã phục vụ tôi rất tốt. Nó có khả năng tương tự SDL, nhưng đối với tôi nó luôn đơn giản và đơn giản hơn. Họ thậm chí còn nói trên trang web rằng có các ràng buộc cho C #, nhưng tôi không biết chúng hoạt động như thế nào.

http://www.talula.demon.co.uk/allegro/

Ngoài ra, tôi thấy rất kỳ lạ, bạn nói rằng bạn biết C ++ nhưng không thể học Python. Python đơn giản và dễ sử dụng hơn C ++.


1

Thành thật mà nói tôi không nghĩ bất cứ điều gì có thể làm tốt hơn pygame: SDL đủ đơn giản, vì vậy đó là một lựa chọn tốt. Python, khi nghĩ về sự thân thiện với lập trình viên, giống như ngôn ngữ tốt nhất từng có. Tôi không nghĩ bạn có thể làm tốt hơn pygame.


0

SDL được tạo bằng c và có lẽ là thư viện lập trình trò chơi phổ biến nhất. Ngoài ra tôi nghĩ rằng tôi đã đọc ở đâu đó rằng pyGame dựa trên nó.

http://www.libsdl.org/


0
  • Angel-engine dành cho tạo mẫu đơn giản nhưng khá hoàn chỉnh.
  • panda 3d is a full fledged 3d engine with commercial games using it, but has a relatively simple python interface if you don't want to get fancy (just look at the simplest examples).

Both are well documented.

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.