Jetzt seh ich es (um 00:49).
Die Liste muss ein Objekt zurück geben das ein Property Description hat. In deinem Beispiel hat die Liste ein Property Description.
Das erstellen des BindingSource und setzen eines DataBinding funktioniert dann wie im ersten post.
Laut Pseudocode instanzierst du pro Rendern einen Sprite. Das macht nach ein paar Sekunden ein paar tausend Sprite Instanzen. Somit muss der GC dauer aufräumen, das könnte das ruckeln verursachen.
Was ich in gedanken gemeint habe war ein TileSet bassierter Level, google müsste genügend ausspucken.
Ich kann mir unter einem 2d scrollup shooter nichts vorstellen. Wie sieht so ein Hintergrundbild aus? (Wenn es nicht zu groß ist kannst als anhang mitdran hängen.)
Wegen den langen Ladezeiten, für jede 1280x1024x32 Bitmap lädst du 40MB in den speichern (system oder grafik, hängt vom Pool Parameter ab). Das kann dauern.
Bei einer/ersten Variante erstellst du eine komplette MipMap-Chain (miplevel parameter ist 0). Wenn ich das richtig verstanden habe ist ein MipLevel eine kleinere version der aktuellen Texture. Und bei einer kompletten mipmapchain müssten das einige texturen sein. 512x512, 256x256, 128x128, 64x64, 32x32 (und sicher noch ein paar andere größen) Dann kommen zu den 40MB sicherlich nochma 200 dazu. Außerdem filterst du auch noch die ganzen miplevel. Keine Ahnung wie schnell eine Lineare Filterung ist, aber die macht das ganze sicher auch nochmal langsamer.
So viel zur langen Ladezeit. Bitte um Korrektur falls ich was falsch erklärt habe.
Fehler Schwarze Hintergründe. Nach dem 3./4. Bild ist dein speicher schon so zugemüllt das DirectX wahrscheinlich das bild nicht mehr korrekt laden kann.
MDX 2.0 verwendet die features des .NET 2.0. Generics, Anynome Methoden usw. thats all
Die MDX 2.0 dll hat sich am 5.10.2006 selbst zerstört.
Muss den Code von Microsoft posten, ich hab mich fast nicht mehr eingekriegt, als ich das gelesen hab.
public static unsafe void CheckTimeBomb()
{
DateTime time1 = new DateTime(0x7d6, 10, 5);
if (DateTime.Compare(DateTime.Today, time1) ≥ 0)
{
MessageBoxW(null, *CUT*, 0x2000); //<-- messagebox text war zu lang
throw new TimeBombException("This pre-release version of DirectX has expired, please upgrade to the latest version from [URL]http://www.microsoft.com/directx[/URL]");
}
}
Gleiche Technick wie in 2D vielleicht?
Gemeint sind Tilesets. Es gibt eine große Bitmap die alle möglichen Texturen beinhaltet.
Den Quads weist man die richtigen Texture Koordinaten zu und schon werden nur bestimmte ausschnitte aus dieser Texture dargestellt (grass, schnee, stein).
Also mit dieser erklärung bin ich überhaupt nich zu frieden. Hoffentlich wisst ihr was ich meine.
Klassen: Texture, Sprite
Damit kann man ganz einfach 2D Bilder zeichnen. Wie man ein Direct3D Device erstellt findet man in jedem tutorial (siehe Artikel Forum).
Mit Mesh Intersection kommt man auch zum gewünschten ergebnis. So ziemlich jeder der mit DX anfängt möchte früher oder später wissen, "welches objekt hat der user angeklickt", "befindet sich die maus über einem objekt", etc.
Über google solltest also genug infos dazu finden. Ich selbst habs nur einmal gemacht und das war copy&paste
Per DataRelation kann man eine Verknüpfung zwischen 2 DataTable herstellen (sollten 2 ID spalten sein, PK und FK). Entweder per Designer oder per Hand (ForeignKey und Relationship gehört aktiviert).
Bei der ComboBox ist der DataSource wie bisher die Stammtabelle. DataBinding ist SelectedValue mit der FK Spalte der Arbeitstabelle.
Es wird automatisch der richtige Eintrag laut FK ausgewählt und wenn ein andere Eintrag ausgewählt wird, wird dieser auch in die Zeile zurückgeschrieben.
Damit sollte 2 und 3 auch erledigt sein.
Eine sehr schlanke Engine gibts hier. Außerdem noch ne stattliche Anzahl von Tutorials die keinen schlechten Eindruck machen. http://www.c-unit.com/tutorials/mdirectx/
Bei Managed DirectX 1.1 gab es mehrere DLLs.
Microsoft.DirectX.dll
Microsoft.Direct3Ddll
Microsoft.Direct3DX.dll
Microsoft.DirectSound.dll
Microsoft.DirectPlay.dll
Microsoft.DirectInput.dll
Das müssten alle sein.
Mit MDX 2.0 haben die alles in eine DLL gepackt.
Microsoft.DirectX.dll
Die Mesh klasse befindet sich in der Microsoft.Direct3DX.dll.
Wenn man mit DataSets arbeitet möchte man in den meisten Fällen die Daten in eine Datenbank oder XML Datei schreiben.
AcceptChanges ändert den RowState einer row auf Unchanged und dann wird die Row bei einem Update/Write ignoriert.
VS2003 konnte auch kein Edit&Continue. Wurde der code bearbeitet musste man neu starten, nun kann man den code bearbeiten und gleich weiterdebuggen. Der Preis dafür ist das man ohne breakpoint nix mehr editieren darf.
Edit&Continue ausschalten und du hast das verhalten wie in VS2003.
- Ist der RowState einer row Added oder Modified? (vorm adapter.Update( ... ); nachschauen.)
- Nach dem adapter.Update( ... ) nachschauen ob Fehler aufgetreten sind. dataSet.dataTable.GetErrors();
Ich bekomme ebenfalls nur eine weiße Seite (FireFox).
Mit ViewSource sieht man das die ganze seite ein PDF dokument ist (keine ahnung was der FF für ein Problem hat).
Rechte maustaste - Save Page as ... - xyz.pdf und man kann die PDF datei speichern.
Ich hätt auch interesse bei dem Projekt mitzuwirken. Was muss ich machen und wo muss ich unterschreiben? 8)