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

11

24.07.2006, 21:54

Zitat von »"DarkRaider"«

Naja, du brauchst dich nur damit beschäftigen... Wenn du dir die Seite von
germandgamedev anguckst, sollte es dich weiterbringen. Du baust einfach
die Font Klasse bei dir ein (Ist auch erlaubt ;) ) und guckst, wie du die
verwenden kannst. Wenn Befehle auftauchen, die du für das ausgeben
brauchst und nicht kennst, dann schau in der MSDN nach und versuche
einen gleichen Befehl in der SDL zu suchen, der dann natürlich anders heißt.
Ansonsten: Erst Dos Games...

P.S.: Man war ich geschockt, dachte du packst es nicht mal eine Variable
in Dos auszugeben :D


war eine kleine übertreibung, aber irgendwie ist ein schock erlebnis, nach konsole, etwas winapi, wieder unfähig zu sein, ein einfaches wort auszugeben o.0.

Aber danke für eure Hilfe. Werd dann wohl morgen einen neuen Versuch starten und probieren eine konstante in dem spiel auszugeben......

n8 & thx

12

25.07.2006, 09:45

Zitat von »"DarkRaider"«



http://old.germangamedev.de/index.php?site=article&id=17

Damit solltest du etwas anfangen können.



Mal ne Frage zum Stil, der in dieser font.h/cpp benutzt wird. Warum

C-/C++-Quelltext

1
font_ = ::CreateFontIndirectW (&lf);


wird hier die variable font mit einem '_' ergänzt, wieso greif ich auf CreateFontIndirect über '::' zu. Welche Vorteile bringt mir diese Schreibweise - oder was wird damit bezweckt.

Zugegeben, sieht wichtig und kompliziert aus und bringt jeden Noob dazu zu staunen.....aber der Sinn davon erschließt sich mir nicht :oops:

Anonymous

unregistriert

13

25.07.2006, 09:50

Ist ganz einfach. font_ Ist eine private Variable der Klasse und mit
:: vor manchen Befehlen arbeitest du im globalen Namespace. Die Vorteile
des globalem Namespaces kenn ich selbst noch nicht so genau, ich weiß
nur, dass mir damit alle Befehle angezeigt werden.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

14

25.07.2006, 09:53

ich vermute mal die Variable font gibt es schon irgendwo, wahrscheinlich bei einer Initialisierungsliste, deshalb wird eine zweite erzeugt, die wahlweise font_ heisst. Sie könnnte auch fontganztollundschoen heissen.

:: gibt den Globalen Namensraum. Alle WinAPI Funktionen sind in diesem definiert.

Vorteile: Wenn du in einem Namensraum xyz bist, und du dort auch eine Funkion CreateFont definiert hast, kann es zu Konflikten kommen, da der Compiler nicht weiss welches er nun nutzen soll, das gllobale aus :: oder das aus xyz?

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

15

25.07.2006, 09:54

Zitat von »"DarkRaider"«

Die Vorteile des globalem Namespaces kenn ich selbst noch nicht so genau

Soviel ich weiss wird wenn man :: nicht angibt automatisch der globale Namespace verwendet. Der Vorteil dabei wenn mans schreibt (neben InteliSense) ist einfach das man im Code besser sieht, wo der globale Namespace verwendet wurde. Ist also Geschmackssache das zu schreiben. (Bitte korrigiert mich wenn ich falsch liege...)
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

16

25.07.2006, 09:54

Zitat von »"YetAnotherNoob"«

Zugegeben, sieht wichtig und kompliziert aus und bringt jeden Noob dazu zu staunen.....aber der Sinn davon erschließt sich mir nicht :oops:


Ich musste da ein wenig schmunzeln, steckt doch in vielen Aussage auch immer ein Körnchen Wahrheit mit drinne.

Aber es gibt da garantiert irgendeinen Vorteil. Z.B. dass man weiß aus welchem Namespace er sich die Funktion/Klasse usw. holt.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

17

25.07.2006, 09:57

Zitat von »"koschka"«


Vorteile: Wenn du in einem Namensraum xyz bist, und du dort auch eine Funkion CreateFont definiert hast, kann es zu Konflikten kommen, da der Compiler nicht weiss welches er nun nutzen soll, das globale aus :: oder das aus xyz?


So früh schon soviel los :D

Anonymous

unregistriert

18

25.07.2006, 09:59

@ koschka: Klar wenn kleine Brüder zu Besuch da sind...

19

25.07.2006, 10:50

Zitat von »"big_muff"«

Zitat von »"DarkRaider"«

Die Vorteile des globalem Namespaces kenn ich selbst noch nicht so genau

Soviel ich weiss wird wenn man :: nicht angibt automatisch der globale Namespace verwendet. Der Vorteil dabei wenn mans schreibt (neben InteliSense) ist einfach das man im Code besser sieht, wo der globale Namespace verwendet wurde. Ist also Geschmackssache das zu schreiben. (Bitte korrigiert mich wenn ich falsch liege...)


Ah danke, das :: ist also implizit, genau wie der this-Zeiger den ich bei objekt-funktionen auch immer als parameter dabei hab. kann, muss ich aber nicht hinschreiben.

Wegen der font_ Variable, die ist als private membervariable des objektes definiert

C-/C++-Quelltext

1
::HFONT__*  font_;


ist den HFONT das Selbe wei HFONT__ ?!? Eigentlich ja nicht, oder ist dieses HFONT__ in directdraw.h definiert?

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

20

25.07.2006, 11:05

Nein das hat so gar nichts mit this zu tun, und auch nichts mit Faulheit, ist aber ein gutes Nebenprodukt ;)

Zitat von »"koschka"«


Vorteile: Wenn du in einem Namensraum xyz bist, und du dort auch eine Funkion CreateFont definiert hast, kann es zu Konflikten kommen, da der Compiler nicht weiss welches er nun nutzen soll, das globale aus :: oder das aus xyz?


Zitat von »"du"«


...ist den HFONT das Selbe wei HFONT__ ?!? Eigentlich ja nicht, oder ist dieses HFONT__ in directdraw.h definiert?


nein aber HFONT := HFONT__*
und ist in der WinAPI definiert, aber das solltest du wissen, ...,

Werbeanzeige