Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Lares

1x Contest-Sieger

  • »Lares« ist der Autor dieses Themas
  • Private Nachricht senden

1

28.06.2011, 21:14

[C#]Lua und Xna

Hallo zusammen,
mache mir seit einigen Tagen Gedanken, ob ich von C++ zu C# wechseln soll (zumindest für ein Projekt, danach mal gucken).
Wollte jetzt einfach mal ausprobieren, inwiefern man Xna mit Lua kombinieren kann, allerdings hatte ich da einige Probleme:
Also ich hatte über Google herausgefunden, dass man in C# ne dll namens LuaInterface einfügen muss. Allerdings scheint die nur
mit den .Net-Framework 2.0 zu funktionieren. Hab also mein Projekt (einfache C# Konsolenanwendung) auf 2.0 gesetzt und es klappt.
Jetzt bin ich mir allerdings unsicher, ob
a) ich ohne weiteres XNA benutzen kann(hab Version 4.0) bzw. auf was für Features ich beim beim Gebrauch des .Net 2.0 Frameworks verzichten müsste
b) es nicht ne Alternative zu LuaInterface oder eine aktuelle Version davon gibt,die mit .Net-Framework 4.0 kompatibel ist.
Ich habe bei meiner Suche leider nix gefunden.

Hoffe, ihr könnt mir helfen.
Gruß Lares

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

28.06.2011, 22:12

Warum genau solltest Du Lua nutzen wollen, wenn Du C# hast? Das lässt sich genauso auch als Skriptsprache nutzen, was offensichtliche Vorteile mit sich bringt.
Oder hast Du schon so viel Lua-Zeug, dass eine Umstellung nicht sonderlich sinnvoll wäre? Sorry, das geht nicht so richtig aus Deinem Beitrag hervor.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

3

28.06.2011, 22:13

ich glaub, das was du suchst gibts ::HIER::

EDIT: da wird auch gleich kobolds einwand besprochen :)

Lares

1x Contest-Sieger

  • »Lares« ist der Autor dieses Themas
  • Private Nachricht senden

4

28.06.2011, 22:24

Hmm ich hab ehrlich gesagt gar nicht daran gedacht c# als skriptsprache zu benutzen. Dachte mir nur ich Schlag zwei Fliegen mit einer Klappe: Probiere XNA aus und lerne Lua in einem Projekt. Aber wenn das nicht sinnvoll ist, benutz ichs halt nicht bin eh noch eher in so einer "Plan- und Probierphase" bezg. meiner nächsten Projekte xD. Ich werd mir ma den Link durchlesen danke^^

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

28.06.2011, 22:40

Wenn du zwei Fliegen mit einer Klappe schlagen willst benutz doch C# auch als Skriptsprache :P

Lares

1x Contest-Sieger

  • »Lares« ist der Autor dieses Themas
  • Private Nachricht senden

6

29.06.2011, 08:41

Ok hab gestern jetzt noch ein bisschen gegoogelt, bzw. wie man mit einem c# programm nen c# "script" (also eig nen normales c# file) auslesen kann. Aber so wirklich was gefunden hab ich nicht bzw. was ich gefunden hab, hat nicht geklappt.
Könnt ihr erklären wie das geht(mit Codebeispiel)?

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

7

29.06.2011, 08:54

Dafür gibt es den C#-CodeProvider. Ansonsten im groben so:

Quellcode

1
2
3
4
5
6
7
8
CSharpCodeProvider c = new CSharpCodeProvider();

            CompilerParameters cp = new CompilerParameters()     {  GenerateExecutable = false,                                            GenerateInMemory = true,                                            OutputAssembly = "test.dll",                                                                                 };cp.ReferencedAssemblies.Add("System.dll");
            CompilerResults compilerResults = c.CompileAssemblyFromFile(cp, "test.cs");

            if (compilerResults.Errors.Count > 0)            {                //fehler...            }

            Assembly assembly = compilerResults.CompiledAssembly;            Car car = assembly.CreateInstance("my.namespace.path.to.object.Car"),            car.Update();

Lares

1x Contest-Sieger

  • »Lares« ist der Autor dieses Themas
  • Private Nachricht senden

8

29.06.2011, 09:24

So hab das jetzt soweit übernommen, aber der compiler erkennt den CSharpProvider nicht. Habe
using System.CodeDom;
using System.CodeDom.Compiler;
in der Program.cs eingesetzt. Was fehlt noch damit er den erkennt?

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

9

29.06.2011, 09:36

ich bild mir ein, dass du noch "using Microsoft.CSharp;" brauchst.

näheres gibts in der MSDN

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

10

29.06.2011, 09:42

ansonsten hilft dir visual studio:

gehe mit dem cursor auf CSharpCodeProvider im code, drücke steuerung und punkt (für satzenede) und dann kannst du dort das include was fehlt automatisch einfügen lassen.

Werbeanzeige