Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: FAQ - Grafik-/Spieleprogrammierung ::  Brauche ich die WinApi ?  
Gehen Sie zu Seite Zurück  1, 2, 3
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
TGGC
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.02.2001
Beiträge: 1895
Beitrag TGGC Mitglied 22:00:00 06.08.2001   Titel:              Zitieren

Das finde ich aber nicht sehr sinnvoll...

_________________
Was wirklich zählt, ist klar.
http://www.fh-merseburg.de/~roesch | ICQ#: 109019884
Werbeunterbrechung
noebef
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.06.2000
Beiträge: 671
Beitrag noebef Mitglied 23:04:00 06.08.2001   Titel:              Zitieren

Zitat:
Das finde ich aber nicht sehr sinnvoll...

hat er ja auch gesagt...
TGGC
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.02.2001
Beiträge: 1895
Beitrag TGGC Mitglied 09:33:00 07.08.2001   Titel:              Zitieren

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.

_________________
Was wirklich zählt, ist klar.
http://www.fh-merseburg.de/~roesch | ICQ#: 109019884
Fischi
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.06.2001
Beiträge: 181
Beitrag Fischi Mitglied 16:19:00 07.08.2001   Titel:              Zitieren

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:
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
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
    }
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
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
}
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
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
Julian
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.04.2000
Beiträge: 919
Beitrag Julian Mitglied 20:46:00 07.08.2001   Titel:              Zitieren

> 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
C/C++ Forum :: FAQ - Grafik-/Spieleprogrammierung ::  Brauche ich die WinApi ?  
Gehen Sie zu Seite Zurück  1, 2, 3
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.