Brauche ich die WinApi ?
-
Das finde ich aber nicht sehr sinnvoll...
-
Das finde ich aber nicht sehr sinnvoll...
hat er ja auch gesagt...
-
Nein, er hat gesagt, das "verkompliziert die Dinge". DI ist ja nicht so kompliziert. Nur in den Vollbildmodus schalten, was 99% aller DX Anwendungen machen, wird dadurch nicht nur "verkompliziert" sondern unmöglich. Oder gibts eine andere (komplizierte) Möglichkeit um an das Handel zu kommen?
Es geht ja hier auch nicht darum, ob man ein Fenster erstellen muss, sondern ob man WinApi können muss. Und um ein Fenster zu erstellen, brauch man keine WinApi können, den Code findet man in _jedem_ DX Tutorial. Wenn man das dann erstmal hat, hat man komplette Freiheit.Ich finds Schwachsinn, das immer wieder diese Diskussion kommt. Um DX zu Programmieren, muss man noch nie etwas von WinApi gehört haben, so einfach ist das.
-
Hallo
Es stimmt schon, lpDD->SetCooperativeLevel(NULL,DDSCL_NORMAL) ist nicht
besonders sinnvoll.
Ich wollte ja auch nur zeigen, dass man nicht einmal ein Fenster erstellen
können muss, um ein lauffähiges Spiel zu schreiben...
Das mit dem Verkomplizieren von Dingen, war allerdings nicht auf das Fenstererstellen
und DirectInput bezogen.
Es gibt ne ganze Reihe API Funktionen, die einem das Leben wesentlich vereinfachen:
z.B.
-die Zeitfunktionen(GetTickCount,QueryPerformanceCounter...)
mal zum Vergleich...das Äquivalent ohne WINAPI:void ReadTimeStampCounter(unsigned __int64 *i64Time) { _asm { _emit 0x0F _emit 0x31 mov ecx,i64Time mov dword ptr[ecx],eax add ecx,4 mov dword ptr[ecx],edx } }
Ist aber um einiges langsamer als die WINAPI Fkt (die darf nämlich auch 0x0F33 benutzen),
aber selbst wenn es minimal schneller wäre, würde ich dies nicht benutzen.
*
-die AVI Funktionen(AVIStreamGetFrame,AVIStreamOpenFromFile...)
-einige Dateifunktionen(CopyFile,DeleteFile...)
-DllFunktionen(LoadLibrary,GetProcAddress...)
-mehr fällt mir im Moment nicht ein.Allerdings verstehe ich zwei Sachen nicht:
1. Dieses Thema hatten wir doch nun schon öfters warum nimmt man es denn nicht
in die FAQ Sektion auf?
2. Warum scheut man sich die API zu benutzen...mit einer einigermaßen ordentlichen
MSDN Version, sollte es eigentlich kein Problem darstellen, sich benötigten Funktionen
rauszusuchen und anzuwenden.Fischi
-
> Dieses Thema hatten wir doch nun schon öfters warum nimmt man es denn nicht in die FAQ Sektion auf?
Genau - warum eigentlich nicht - hiermit wird der Beitrag ins FAQ Archiv aufgenommen