Autor Wątek: Czy da się zrobić grę typu SpellForce 1 w Unity3D??  (Przeczytany 10435 razy)

Offline Avaj

  • Użytkownik

# Sierpień 13, 2012, 07:21:29
A który z języków lepszy w programowaniu gier rts w Unity3D?? JavaScript, C# czy C++??
W Unity3D nie możesz używać C++. Formalnie Javascripta też nie (to jest taki Javascript jak we Flashu, oba się wywodzą z tego samego języka, praktycznie to jest javascript ale tak naprawdę ECMAScript).

Można używać Boo, który miał być Pythonem pod .NET ale raczej go nikt nie używa. Wybieraj C# jeśli wolisz tego typu języki, albo UnityScripta jeśli wolisz bardziej dynamiczne.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline lighting

  • Użytkownik

# Sierpień 13, 2012, 11:41:43
W Unity3D nie możesz używać C++. Formalnie Javascripta też nie (to jest taki Javascript jak we Flashu, oba się wywodzą z tego samego języka, praktycznie to jest javascript ale tak naprawdę ECMAScript).

Można używać Boo, który miał być Pythonem pod .NET ale raczej go nikt nie używa. Wybieraj C# jeśli wolisz tego typu języki, albo UnityScripta jeśli wolisz bardziej dynamiczne.

W skryptach Unity nie można używać C++, to prawda. Można za to przy pomocy atrybutu [DllImport] zaimportować bibliotekę (dll) stworzoną w C++. Niestety niewiele jest materiałów sieci służących pomocą w tym temacie. Osobiście do pisania skryptów polecam C#, gdyż oferuje on cały zestaw metod pochodzących z .NET'a i źle się w nim nie pisze ;)

Offline albinoski1989

  • Użytkownik

# Sierpień 13, 2012, 15:48:24
Nie można c++ używać?? Czytałem, że w wersji pro można. UnityScript?? A C# nadaje się do gier flash i na komórki w Unity, czy trzeba JavaScript znać??
« Ostatnia zmiana: Sierpień 13, 2012, 15:50:03 wysłana przez albinoski1989 »

Offline Raptor

  • Użytkownik

# Sierpień 13, 2012, 15:54:00
Jeśli masz 1500$ na wersję Pro... Z opisu na stronie: "Have a custom native library that you absolutely must use? Use a C, C++, Objective-C or Java plugin to directly call into it."

Offline albinoski1989

  • Użytkownik

# Sierpień 13, 2012, 18:08:03
No wersje pro też biorę pod uwagę. To C# czy C++ będzie lepszy??

Offline koirat

  • Użytkownik

# Sierpień 13, 2012, 19:25:50
Do unity - wiadomo że c#. W końcu engine masz już napisany.

Offline sztacheta28

  • Użytkownik
    • Wsparcie dla Unity 3d po polsku

# Sierpień 13, 2012, 21:42:09
C# i UnityScript(JavaScript) służy do pisania gry.
C++ służy do poszerzania możliwości silnika poprzez pisanie własnych pluginów, ale pisania w C# lub UnityScript, nie unikniesz.

O pluginach możesz poczytać tu:
http://docs.unity3d.com/Documentation/Manual/Plugins.html

Co do JS możesz poczytać nowy kurs, który właśnie tworzę(48 stron tekstu na tą chwilę):
http://unity3d.cba.pl/kurs/kurs.doc

Nie tylko o JS masz opisane w starym kursie:
http://unity3d.cba.pl/kurs/
Opisany masz Interfejs i podstawowe pojęcia dotyczące Unity w nim.

Co do języka C# to poszukaj tutków na http://mepi.pl/
Większość jest podobno bezpłatna, ale nie sprawdzałem.

Offline Humman

  • Użytkownik

# Sierpień 16, 2012, 00:54:44
Najlepszy jest C#, to dopracowany język o podobnych możliwościach jak C++ tylko pisze się łatwiej i szybciej, do tego przydatna biblioteka .NET z przydatną do gier obsługą plików, paraserem XML, http itp. Z unity dodają też wspólpracujące z nim Mono Develop, całkiem dobre IDE (IMO lepsze niż Visual C#).
Nie trzeba mieć Unity Pro żeby zintegrować bibliotekę w C, C++ , w pro są po prostu funkcję przydatne do tego, ale można też używać metod z .Net do ładowania funkcji z bibliotek .dll, tylko trzeba zrobić wraper danej funkcji w c#.
Na początku daje się
using System.Runtime.InteropServices;

a przed wrapowaną funkcją
[DllImport("nazwa_biblioteki.dll")]

np, w foo.h w c++, do foo.dll:
float Foo(int par);

bar.cs w c#:
using System.Runtime.InteropServices;

public class Bar {
  [DllImport("foo.dll")]
  public static extern float Foo(int par);
}
« Ostatnia zmiana: Sierpień 16, 2012, 01:00:19 wysłana przez Humman »

Offline Avaj

  • Użytkownik

# Sierpień 16, 2012, 12:31:53
@up
ciekawe czy da się zaimportować jakąś bardziej skomplikowaną libkę C++? :>

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Sierpień 16, 2012, 13:00:25
Cytuj
Najlepszy jest C#, to dopracowany język o podobnych możliwościach jak C++ tylko pisze się łatwiej i szybciej
To "łatwiej i szybciej" to jest baaardzo subiektywna opinia.