Konrad Rudolph schrieb:
Is there a compelling reason to use C?
If not, use C# because if you target C# and VB, then .NET is the obvious ....
Thanks for your reply.
I have started programming the DLL with C#. Till now no problem.
Hallo zusammen,
ich suche nach mehreren Helfern für mein aktuelles Projekt.
Es handelt sich dabei um ein 3D Adventure-Spiel. Als Grundlage wird mein Textadventure: Zork dienen.
Da es sich um ein Textadventure handelt können wir davon natürlich nur die Story übernehmen. Diese ist allerdings sehr ausgereift und kann ohne Probleme übernommen werden.
Das ganze soll in C# oder einer anderen .NET Sprache (Einbindung dann über Dlls) gestaltet werden.
Zur grafischen Ausgabe wird die Irrlicht.NET 3D-Engine verwendet.
Die Engine ist sehr mächtig und auch einfach zu bedienen. Beispielsweise können auch Quake3-Level geladen werden.
Damit kommen wir auch schon zum nächsten Punkt. Die Level werden wie gesagt im Quake3-Format vorliegen und müssen noch designed werden.
Außerdem müssen 3D Models erstellt werden. Dazu braucht es dann noch passende Texturen. (Eventuell kann man auch freie Models verwenden)
Weiterhin brauchen wir noch Sounddateien.
Auf diesen Aufgaben basierend würde ich eine folgende Aufteilung vorschlagen:
Mit mir eingerechnet 2-4 Programmierer
1-2 Grafiker/Modeller
1 Person für Sound
Natürlich wäre es vorteilhaft wenn die Programmierer schonmal was im 3D Bereich gemacht haben.
Auch sollte jemand Erfahrung im Bereich der Shader Programmierung gemacht haben.
Dann kommen wir mal zur etwas genaueren Planung und ToDo-Liste:
Sauberes Klassenkonstrukt, stark OOP orientiert
Oberflächengestaltung, sollte strikt vom Programmkern getrennt sein
Menüdesign (Irrlicht hat eine GUI)
Organisation von 3D Dateien
Organisation von Shadern
Organisation von Sounddateien
Spezielle Probleme:
Wie realisieren wir die dynamische Interaktion mit Objekten im Level (Items, Personen, ...)
Wie realisieren wir die Sprachausgabe von Personen (1. optisch: evtl. Kosole?, 2.akustisch: evtl. Sprecher?)
Wie realisieren wir dynamische Objekt- und Statusveränderungen (Andere Aktionen passieren im selben Raum zu unterschiedlichen Zeiten)
Ich denke diese Aufgaben sollten für den Anfang reichen.
Die Programmierer sollten keine Anfänger sein und sich mit OOP auskennen.
Je nach Aufgabenbereich sind erfoderlich:
Visual Studion 2008 (kann man ja die Expressvariante nehmen, andere Version kleiner 2008 sollten aber auch kein Problem sein) oder andere kompatible .NET Umgebung
3DS Max, Cinema 4D, Blender, oder ähnliche 3D Software
Quake 3 Leveleditor (Ist frei erhältlich)
Profiler Software zum analysieren des Codes auf Schwachstellen (Habe ich, sollte also reichen)
Photoshop, GIMP, oder andere Grafikbearbeitungssoftware für Texturen und ähnliches
Soundprogramm (keine Ahnung was es da gibt)
Wenn wir ein Team gefunden haben, können wir uns entscheiden ob wir uns einen Webserver mit Forum bauen (ist kein Problem, kann ich übernehmen) oder ob wir das DF um Hilfe bitten.
Das ganze sollte Freeware oder da wir unter .NET entwicklen gleich Opensource sein. Da können wir aber noch drüber dskutieren.
Ich denke es sollte mögich sein, innerhalb dieses Jahres noch eine funktionstüchtige Alpha-Version herauszubringen.
Wer Interesse und Zeit hat kann sich ja einfach mal bei mir melden.
Ich würde mich jedenfalls freuen wenn das klappen würde.
Unter www.zork3D.de.lv gibt es schon ein Forum, in dem man sich bei Interesse registrieren kann.
Liebe Grüße,
Fabian
Crosspost im C-Sharp-Forum
Crosspost bei myCSharp.de
hast du das .Save vergessen?
// geschlossen werden muss nichts, da nie etwas offen war
mit Load wird der inahlt eingelesen - und mit save wird die datein dann einfach ueberschrieben
eine moeglichkeit die es noch gibt
(aber nur sinnvoll wenn es pro user oder pc nur einmal geschehen soll)
lass eine xaml datei erstellen {per code das xml document erzeugen} und lad es dann dynamisch mit dem xamlreader
// zb wenn ein button in der xaml steht (kopiert ausn web {o;)
StringReader stringReader = new StringReader(savedButton);
XmlReader xmlReader = XmlReader.Create(stringReader);
Button readerLoadButton = (Button)XamlReader.Load(xmlReader);
so kannst du sagen
if file for user exist then load it as window else create new xaml with user wishes
Hallo zusammen
Ich schreibe gerade ein Visio 2007 Add-In und habe folgendes Problem: Ich füge im Zusammenhang mit der Interaktion mit dem Benutzer eine zusätzliche CommandBar mit einem Button hinzu:
private void ThisAddIn_Startup(object sender,System.EventArgs e){
// determine the visio - application, the main - menu bar and the number of menu - items
Visio.Application appVso = Globals.ThisAddIn.Application;
Office.CommandBars cbsCmd = (CommandBars)appVso.CommandBars;
// define some oftenly used datatypes
MsoBarPosition posTop = MsoBarPosition.msoBarTop;
MsoControlType typBtn = MsoControlType.msoControlButton;
object nil = Type.Missing;
// create a new command - bar for the interaction with the user
CommandBar cmbUml = (CommandBar)cbsCmd.Add("Fancy - UML", posTop,nil,true);
// create a new button for creating a fancy - UML diagram
CommandBarButton cbbGen = (CommandBarButton)cmbUml.Controls.Add(typBtn,nil,nil,nil,true);
cbbGen.Caption = "Fancy - UML";
cbbGen.Style = MsoButtonStyle.msoButtonCaption;
cbbGen.Click += new _CommandBarButtonEvents_ClickEventHandler(btnGen_Click);
// finally visible the command - bar
cmbUml.Visible = true;
}
Das Problem ist nun, dass das Klicken keinen Event mehr auslöst, sobald ich ein neues Dokument generiere...
Hat vielleicht jemand von euch bereits einmal ähnliche Probleme gehabt?
Mfg Ishlidur
Hallo
Du solltest dir durchlesen, was dir angeboten wird und danach bist du glücklicher. Der Link war ganz bewusst gewählt und nun versuchst du es noch einmal...
chrische
Unix-Tom schrieb:
... und das Bitmap wieder ausgeben.
Das Problem ist, dass ich es nicht zwischenspeichern kann, da mehrere auf das selbe Bild zugreifen!
Und die ImageMap-Klasse hat kein Member 'Image', sondern nur 'ImageUrl' :-(!
Wenn es ein Member 'Image' hätte, wäre es ja gar kein Problem, aber es wird eben nur eine URL verlangt!
Die Änderung des Bilds muss irgendwie temporär sein!
Danke trotzdem :-)!
Grüüße
Die einzige Möglichkeit Direct3D 9/10/XY UND .NET produktiv zu verwenden ist C++/CLI^^ Viel Spass bei dieser Kombination von zwei der komplexesten Angelegenheiten in der Geschichte der Softwareentwicklung
Hallo.
Ich experimentiere gerade mit C# und Netzwerk.
Ich habe ein Programm(C++), welches mir auf Aufforderung Daten über den Socket schickt.
Das funktioniert mir meinem alten C++ Programm ganz hevorragend.
Mit C# habe ich noch so meine Probleme und zwar kann ich kein CR und LF empfangen, diese Zeichen sind einfach weg und durch '\0' ersetzt!
Starte ich parallell dazu mein altes Programm, bekomme ich diese Zeichen.
Eie Antwort vom Programm sieht ungefähr so aus:
START\r
Nen Haufen Zeichen, Text usw der mit \r getrennt ist\r\n
ENDE\r
Wobei jede Zeile ein Telegramm entspricht.
Das Problem ist hier, daß ich mit C# die Zeichen \r und \n einfach nicht empfange!
Sie sind einfach nicht da, derweil empfange ich doch das Ganze schon als byte.
Hier der Quellcode:
//Connection aufbauen und abfragen
TcpClient socketForApp = new TcpClient(GlobalVars.AppHost,GlobalVars.AppPort);
socketForApp.SendTimeout = 1000;
socketForApp.ReceiveTimeout = 10000;
NetworkStream networkStream;
networkStream = socketForApp.GetStream();
..........
if (networkStream.DataAvailable)
{
networkStream.Read(rec, 0, GlobalVars.SOCKLEN);
ergebnis = System.Text.Encoding.ASCII.GetString(rec);
}
usw.
Wenn ich das Ding debugge, dann sehe ich schon in der Zeile
networkStream.Read(rec, 0, GlobalVars.SOCKLEN);
Daß in rec zwar die normalen Zeichen drinsteheln, aber KEIN *r*, an dieser Stelle steht stattdessen in \0 !!!
Ich habe schon versuche, das per Char zu empfangen->dasselbe.
Als byte-> dasselbe .
Als string -> sowieso.
Was gibts noch für Möglichkeiten?
Es liegt ja definitiv nicht an der Umwandlung in den string(
ergebnis = System.Text.Encoding.ASCII.GetString(rec);
)
sondern schon in der Zeile vorher.
Wenns nicht als Char geht, wie dann?
Hat wer Tips?
Ich brauche diese Zeichen für die spätere Verarbeitung..
Danke und Grüße Mondmann
Ich habe auch irgendwie das Gefühl, dass wenn ich im DataGridView eine komplette Row herauslösche, dass dies mit der DataTable nicht abgeglichen wird bzw. dass die Datensätze nicht endgültig aus der Tabelle verschwinden.
Kann jemand dazu was sagen?
Liebe Grüße
- Basti
schneidet die Linie die ecke, heißt es noch lange nicht dass alles was danach kommt außerhalb des Polygons liegt - die ecke kann ja auch nach oben zeigen und die linie also trotzdem in den poly eintreten...
Ich versuch mal das zu implementieren mit allen sonderfällen. Vllt wird es ja doch nicht so viel wie es zu sein scheint mit allen sonderfällen. Wenn dir was einfällt - immer bescheid sagen
Danke!
PS Mit dem füllen bist du schon auf der richtigen spur - das programm generiert steuerbewegungen für eine CNC-maschiene, es geht ums "Hatching"