JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Win32-Spezifische Fragen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 18.08.2002, 11:28    Titel: Win32-Spezifische Fragen Antworten mit Zitat

Hallo, Leute!

Wie einige von Euch sicherlich schon wissen, programmiere ich seid ca. 2 Monaten an einem mehr oder weniger größerem Spiel. Ich komme sehr gut voran und bin jetzt auf das Problem gestoßen, wie ich einen Level aufbauen muß. Ich habe mir für die reine Level- (und auch Cutszenen-)definition eine HTML-ähnliche Scriptsprache ausgedacht. Damit lassen sich alle Details eines Level's genau beschreiben, sogar Trigger sind möglich, um z.B. einen NPC (NichtSpielerCharakter) eine bestimmte Aufgabe ausführen zu lassen, sobald der PC (Player Charakter) an einem bestimmten Punkt vorbeikommt.
Um trotsdem einen Level leichter erstellen zu können, habe ich erst mal angefangen, einen WYSIWYG (What you see ist what you get) Editor für meine Scriptsprache zu erstellen. Da ich MFC nicht sehr mag, bzw. nicht gerne programmiere habe ich alles als Win32-Projekt ausgelegt. Es handelt sich bei dem Leveleditor zwar um ein SDI-Programm (Single Document Interface) jedoch verwende ich mehrere Fenster, um z.B. die Toolbar, einen Ausgabebereich, den Arbeitsbereich, den Quellcode des Levels oder auch den Level selbst darzustellen. Für jedes dieser (Rahmenlosen) Fenster benötige ich natürlich auch ein Fensterhandle.
Nun meine Fragen:
Sind die verfügbaren Fensterhandles sehr beschränkt bzw. kann/darf ich ohne weiteres annehmen, daß ich genügend zur Verfügung gestellt bekomme? (Mit Genügend sind im gesamten Editor sicherlich 100 Handles gemeint, wenn nicht sogar noch mehr)
Wie stark darf ich Fenster verschachteln? Das Hauptfenster enthält z.B. das Abreitsplatzfenster, welches ein Tab-Fenster enthält mit mehreren Tabulatorflächen. Diese Tabulatorflächen enthalten wiederum Fenster mit Tree-View-Elementen, Buttons usw. Jedes dieser Objekte ist ja programmiertechnisch ein Fenster, also wie viele dieser Objekte darf ich ineinander Verschachteln?
Wie werden Windowmessages verteilt? Bekommt zu erst das Hauptfenster die Message (z.B. WM_MOUSEMOVE) und leitet sie die Meldung immer an das darunterliegende Fenster weiter, daß sie wiederum weiterleitet oder bekommt nur das oberste (zuletzt erstellte) Fenster die Message?

So, das dürfte erstmal reichen,
Bis Bald: AFE-GmdG

PS.: Fragen an mich in Bezug auf dieses Projekt, die nicht von algemeinen Interesse sind, sollten per Mail an mich gerichtet sein. Da ich einen Messagefilter verwende, sollte Die Betreffzeile der Mail lauten: "Projekt: Blablablupp"
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 22.08.2002, 23:20    Titel: Antworten mit Zitat

Ergänzung:

Ich habe in der Zwischenzeit weiter programmiert. Bisher habe ich immer vorausgesetzt, das ich genügend Speicher und Handles zur verfügung gestellt bekomme, wie auch immer das von Windows geregelt wird. Natürlich sind entsprechende Sicherheitsabfragen eingebaut, die ein Fehler umgehen bzw. abfangen. Nur das mit der Messagebehandlung habe ich noch nicht wirklich herausbekommen. Bisher funktioniert alles, wenn ich in der jeweiligen Messagebehandlungsroutine die Abfragen reinprogrammiere. Mal sehen, ob ich auf Probleme stoße... Trotsdem würde mich die genaue Weiterleitung der Messages von Windows interessieren.
Bsp.: Ich bewege die Maus über mein Programmfenster. Die Message WM_MOUSEMOVE wird an die Routine von hWnd gesendet. Dieses Hauptfenster hat nun weitere Untergeordnete Fenster, z.B. eine Statusleisste. Wenn ich innerhalb der Statusleiste die Maus Bewege, wird die Message WM_MOUSEMOVE an hStatusWnd gesendet. Wird sie auch an hWnd gesendet, und wenn ja, an wen zuerst? Ist das definiert, oder dem "Zufall" überlassen, frei nach der Methode "Wer zuerst kommt, malt zuerst"?
Darüber würde ich gerne noch ein paar Infos einsammeln.

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DaN00b
JLI'ler



Anmeldedatum: 10.08.2002
Beiträge: 159

Medaillen: Keine

BeitragVerfasst am: 23.08.2002, 09:25    Titel: Antworten mit Zitat

ich glaub mir geht es wie vielen anderen hier im forum das das mir einfach noch zu hoch ist was du da fragst Embarassed

würde ja gerne helfen :/
_________________
Carpe Diem - Seize the day - Nütze den Tag!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
AFE-GmdG
JLI MVP
JLI MVP


Alter: 44
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 23.08.2002, 12:06    Titel: Antworten mit Zitat

Hab ich leider auch schon festgestellt...
Nun ja, dann bin ich eben einer, der mehr antworten als Fragen kann...

AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 23.08.2002, 12:11    Titel: Antworten mit Zitat

Nein, ich finde nicht dass die Frage ein zu hohen Level hat! Wer sich schon mal etwas tiefer greifender mit Win32 beschäftigt hat, sollte sowas wissen! Ich bin mir sicher, zumindest einer von den "Guten"(Jörg, Michael...) und natürlich Christian sowas weiss! Ich würde noch mal warten!
PS.:Manchmal schreckt man Leute mit langen Posts auch ab, aber bei dir ließe sich das wohl kaum kürzer formulieren!
MiracleBoy Cool
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum