Công cụ đồ họa 2D đa nền tảng [đã đóng]


57

Tôi đang tìm kiếm một công cụ đồ họa 2D cho phép tôi phát hành lên Windows, Mac và iPhone, giống như cách mà Unity làm cho 3D.

Có một công cụ tốt thực hiện điều này và dành riêng cho 2D?


Nếu bạn thích phiêu lưu, bạn luôn có thể xem một trong những trò chơi 2D có nguồn gốc mở, chẳng hạn như Aquaria, Gish và phần còn lại của Humble Indie Bundle.
MarkovCh1

6
Bạn đã quên linux, không có tình yêu cho những kẻ đó?
Derek

Câu trả lời:


37

Luôn có chế độ chờ cũ, SDL . Mức độ khá thấp, nhưng sự đơn giản đó là thứ cho phép nó được chuyển sang các nền tảng (bao gồm windows, linux, mac, nintendo DS, wii, v.v.). Có một cổng iPhone mà tôi chưa sử dụng nhưng dường như đã đủ trưởng thành.


Có vẻ như họ không có phiên bản 1.3 "ổn định", đây là phiên bản bạn muốn hỗ trợ cho iphone. Bạn có thể sẽ cần lấy phiên bản 1.3 từ repo HG của họ và tự xây dựng nó.
Casey

22

Thực sự không có lý do gì bạn không thể sử dụng Unity3D để tạo trò chơi "2D". Bạn có thể sử dụng các hình tứ giác có kết cấu và một máy ảnh chính tả, và bạn có cho mình một trò chơi 2D. Thậm chí còn có một số giải pháp độc đáo như sử dụng hệ thống hoạt hình khung xương và đặt các họa tiết lên trên các khớp khác nhau, hoặc sử dụng máy ảnh phối cảnh thực sự chặt chẽ để có được thị sai giá rẻ.

Thậm chí còn có các nhà cung cấp phần mềm trung gian cho Unity để cung cấp các giải pháp quản lý sprite tốt hơn. Giống như trình quản lý sprite 2 .


2
Tôi thực tế đã làm điều này. Tôi thấy rằng khía cạnh 3D của sự thống nhất mặc dù có xu hướng đi vào lối mòn khi giao diện người dùng có liên quan. Ngoài ra, tôi luôn luôn tạo ra một cảnh giả không có gì ngoài máy ảnh có tập lệnh gốc được đính kèm. Tôi sẽ kiểm tra các liên kết mà bạn đề cập mặc dù!
Kevin Laity

20

SFML là một công cụ đồ họa đa nền tảng, hướng đối tượng, hiện đại. Nó được tăng tốc phần cứng (dựa trên OpenGL) và có các ràng buộc cho

  • C ++
  • C
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • Con trăn
  • CƯỜI MỞ MIỆNG
  • Hồng ngọc
  • Đại dương

4
+1 cho SFML. Thật tuyệt, nhưng vấn đề duy nhất là thiếu cổng iphone.
Vịt Cộng sản

12

SDL, Allegro, OpenGL
SDL và Allegro không chỉ là các lib đồ họa, mà là các lib phát triển toàn bộ trò chơi.
Một mặt trái của SDL là nó chiếm lấy main () của bạn và xác định lại nó, khiến cho việc kết hợp nó với các thư viện khác trở nên khó khăn. (QT theo kinh nghiệm của tôi)
Một điều tồi tệ khác là SDL chỉ cho phép một cửa sổ (đây là phiên bản ổn định 1.2, phiên bản phát triển 1.3, nhưng nó chưa được hỗ trợ hoặc ghi lại đầy đủ)
Tôi có thể đặt tên cho các điểm yếu của SDL vì tôi biết nó tốt nhất và đã làm việc với nó, nhưng mặc dù vậy, nó rất mạnh mẽ, nhiều trình giả lập, bao gồm cả cổng Mame và ScummVM, cũng như các trò chơi sử dụng nó.
OpenGL, mặc dù được sử dụng 3D phổ biến, là một thư viện đồ họa, và như vậy, cũng cho phép đồ họa 2D thông qua thao tác cấp độ pixel bề mặt và sử dụng rộng rãi khả năng tăng tốc phần cứng cả trong 3D và 2D.


Tôi sử dụng để tạo các trò chơi trong Allegro mọi lúc. Đã yêu nó.
Giai điệu

Qt không tiếp quản chính, ngay cả với một vòng lặp sự kiện trong QCoreApplication. Bạn có thể gọi qApp-> processEvents trong bất kỳ vòng lặp nào bạn muốn và Qt sẽ rất vui.
Mircea Chirea

1
SDL có phải tiếp quản vòng lặp chính của bạn không? Tôi nghĩ bạn có thể tránh điều đó bằng cách không bao gồm SDLmain.h và cẩn thận tự làm mọi việc ...
Ricket

2
SDL không tiếp quản vòng lặp trò chơi chính của bạn. Bạn thường tự tạo và bên trong cuộc gọi đó SDL_PollEvent để nhận bất kỳ sự kiện nào SDL biết (đầu vào bàn phím, di chuyển chuột, v.v.).
dcarrigg

6

Bạn có thể nhìn vào Troll2D

Box2D được sử dụng cho nhiều nền tảng. Bao gồm cả iPhone. Nhưng bạn phải tìm cách hiển thị những vật thể đó. Vì Box2D chỉ xử lý mô phỏng vật lý 2D.


Olafur - Tôi muốn nói Troll2D là câu trả lời của bạn vì vậy bạn nên bắt đầu với điều đó. Box2d nên là suy nghĩ sau.
Iain

5

LÖVE là một công cụ 2D cho phép phát triển các trò chơi dễ dàng và nhanh chóng bằng ngôn ngữ Lua .

Nó chạy trên Mac (PPC và Intel), Windows và Linux (32 và 64 bit) và các trò chơi được phân phối dễ dàng dưới dạng tệp ".love" chạy một tệp trên tất cả các nền tảng.

Về cơ bản, chúng là phiên bản nén của trò chơi với phần mở rộng zip được đổi tên thành tình yêu .

Thật không may, không có cổng iPhone (cho đến nay).


5

Cocos2D có nguồn gốc từ Mac / Windows trong Python và có sẵn trong hương vị Objective-C dưới iPhone . Nó phổ biến trong phát triển trò chơi iPhone 2D. Ray Wenderlich có một số hướng dẫn Cocos2D tuyệt vời cho iPhone .

Vì họ đã chuyển từ Python sang Objective-C, tôi nghi ngờ bạn sẽ không thể biên dịch chéo giữa tất cả các nền tảng nữa từ cùng một cơ sở mã.


Đúng, có nhiều cổng cocos2d nhưng tất cả đều sử dụng ngôn ngữ riêng. Objective-C cho iPhone, Java cho Android, Javascript cho Web, Python cho phiên bản PC gốc và C ++ cho cổng Windows mới có thể hỗ trợ hoặc không hỗ trợ Windows Mobile (không rõ về điều đó). Khác với tên và triết lý thiết kế, chúng không thể thay thế cho nhau theo bất kỳ cách nào.
Tìm hiểuCocos2D

Tôi nghĩ Cocos2d-x bây giờ khá ổn định và đa nền tảng, với một ngôn ngữ thực hiện duy nhất: C ++ (bao gồm cả iPhone nữa).
huyền thoại2k

4

Nếu bạn không lo lắng về iPhone, luôn có Flash được đóng gói dưới dạng AIR - bạn mất iPhone nhưng bạn có được Linux và triển khai web. Sau đó, bạn có thể chọn công cụ trò chơi / vật lý / kết xuất phù hợp với dự án của mình, vd. FlashPunk, Flixel, Box2d.


Bạn cũng có được hỗ trợ điện thoại Android (ít nhất là những cái mới hơn) và có thể hỗ trợ Palm / Blackberry / Windows Mobile trong tương lai.
davr

iOS hiện được hỗ trợ trong khi Linux thì không.
Danik

4

Bạn có thể thử Angel Engine . Nó dựa trên C ++, OpenGL, Box2D và nó sử dụng Python để viết kịch bản. Nó chủ yếu để tạo mẫu, nhưng các phiên bản gần đây dường như tập trung vào việc tạo ra các trò chơi đầy đủ.


3

mô-men xoắn2D hỗ trợ PC và mac ra khỏi hộp. ITorque2D hỗ trợ triển khai cho iphone. Nó cũng có thể để có được triển khai giao diện điều khiển.


2

PlayN hỗ trợ HTML5, Android, iOS, Flash và Java trên máy tính để bàn.

Bạn viết mã của mình bằng Java và nó xử lý chuyển đổi mã Java của bạn sang JavaScript (thông qua GWT) cho HTML, sang lắp ráp ARM (thông qua IKVM để chuyển từ mã byte Java sang mã byte CLR, sau đó MonoTouch để biên dịch mã byte CLR sang ứng dụng iOS gốc), đến ActionScript thông qua một phụ trợ GWT tùy chỉnh tạo ActionScript thay vì JavaScript và cho Android và Java trên máy tính để bàn không có chuyển đổi.


2

Moai SDK là một khung có thể chạy * trên các nền tảng này. Nó là nguồn mở, vì vậy hãy kiểm tra repo github của họ .

Moai cũng có thể được xuất bản lên Google Chrome và Android.

* Tôi không nghĩ xuất bản là cho mac hoặc windows (tức là .app hoặc .exe) có sẵn tại thời điểm này nhưng có thể được thêm vào.


1

Haxe + NME hỗ trợ HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS. Nó hỗ trợ đồ họa 2D (hình vẽ bitmap, vẽ vector, cộng với các hiệu ứng như bóng đổ và mờ).


0

Gần đây tôi đã nghe rất nhiều về MonoTouch cho những người phát triển iPhone và iPod touch. Khung nằm trên Mono, đã tương thích đa nền tảng.


Quá tệ, điều này vi phạm thỏa thuận cửa hàng iTunes, vì bạn đang viết bằng thứ gì đó không phải là C / C ++ / ObjC và sử dụng lớp dịch. Bạn có thể được chấp thuận, nhưng họ có thể kéo bạn trong tương lai. Cá nhân tôi sẽ không mạo hiểm.
davr

@davr monotouch không vi phạm các điều khoản của thỏa thuận kể từ> 1 năm trước.
dodgy_coder

@dodgy_coder Vâng, tôi nhớ khi Apple cuối cùng đã gỡ bỏ những quy tắc bị trì hoãn đó (vốn chỉ nhằm mục đích làm hại Adobe tôi tin). Nhận xét ban đầu của tôi là đúng vào thời điểm tôi đăng nó :)
davr

-1

Unity3d là công cụ và công cụ phát triển trò chơi 2d tốt nhất. xen kẽ monogame. html5 và flash không phù hợp với chủ đề này. đã flash là chết.

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.