| Zitat: |
[*]Wie erstelle ich einen Anzeigebildschirm?
|
Bevor wir uns missverstehen? Die Ausgabe im Spiel klappt bereits? Dann solltest Du doch mit der dortigen API ohne Probleme auch eine zweite Anwendung (Editor) erzeugen können und die Inhalte dort darstellen? Alles was Du brauchst ist ja schließlich eine Leinwand zum zeichnen. Für die meisten Grafik-APIs eigenet sich alles, was ein Handle hat. So kannst Du statt eines kompletten Fenster z.B. bei OpenGL auch nur ein Panel verwenden um darinne zu zeichnen.
| Zitat: |
[*]Wie ist es möglich, dass der Effekt in Echtzeit im Anzeigebildschirm angezeigt wird?
|
Wie auch im Spiel. Du mußt ständig die Render-Loop durchlaufen und damit eine Wiedergabe durchführen. Vor jedem Bild beginnst Du nun (wie im Spiel auch) die neuen Positionen zu berechnen. Beim Editor wird es wohl wünschenswert sein, wenn die Partikel immer wieder neu initalisiert werden und nicht plötzlich nur noch eine schwarze Fläche da ist.
| Zitat: |
[*]Wie erstelle ich das Raster, das ich ein-/ausblenden kann?
|
Abhängig von der Grafik-API. Generell: Linien ziehen mit zwei For-Schleifen - klappt in 2D und 3D
| Zitat: |
[*]Wie erkennt das Programm, welche Texturdateien verwendet werden sollen?
|
Verstehe ich nicht. Programme tun nie automatisch etwas, Du mußt es definitieren, was es tun soll. Daher ist die Frage: Welche Textur soll er den verwenden? Du meinst Texturen für unterschiedliche Partikel-Typen? Ich denke, da wäre ein Fall für deine Ini-Dateien.
| Zitat: |
[*]Wie implementiere ich einen Zähler, der die Anzahl der Partikel anzeigt, wenn man den Effekt abspielt? (evtl. mit Höchstzahl der Partikel während des ganzen Effekts) |
Für gewöhnlich haben Partikel eine Lifetime.... deine scheinbar auch. Ist dies 0 so wird das Partikel in der Regel nicht mehr angezeigt und ist tot. Du brauchst also nur die Anzahl der Partikel zählen, die > 0 sind um zu wissen, wieviele Partikel insgesamt angezeigt werden. Ist eine Lifetime <= 0, so kannst Du das Partikel wieder neu initalisieren um es wieder z.b. aus einer Quelle zu respawnen. Die Summe der initalisierten Partikel ist die Anzahl der Partikel, die insgesamt abgespielt wurden.
| Zitat: |
[*]Wie erkennt das Programm, dass die eingegebenen Werte den Effekt im Anzeigebildschirm beeinflussen sollen? (zb. wenn ich die Größe eines Partikels ändere, muss es dann auch im Anzeigebildschirm größer werden)
|
Du merkst, ich habe Probleme deinen Fragen zu folgen, weil es sich für mich anhört als würde bisher nur die Ini-Datei existieren und kein Partikelsystem. All deine Partikel sind normalerweise in einem Array mit Ihren Informationen. Zwei sinnvolle Ansätze gebe es um auf Veränderungen zu reagieren. 1. Du hast ein sehr schnell lebiges Partikelsysteme bei dem sehr oft neue Partikel initalisiert werden. Es würde sich anbieten, dass Du Änderungen (z.B. Größe) erst bei reinitalisieren setzt und der Effekt mit einer kleinen Verzögerung stattfindet. Dies Verfahren ist insbesondere dann wohl sinnvoll, wenn die Partikel allesamt sehr individuell sind und Du nicht für jedes eine konstante Größe hast, sondern nur einen Richtwert, der dann mit einem Zufallszahl ein wenig größer oder kleiner dargestellt wird. Sollten alle Partikel bei Dir identisch sein... so würde ich dieses Feld aus den Partikelinformationen nehmen und lieber nur eine Variable für das gesamte Partikelsystem setzen, dass die Größe speichert. Paßt Du dieses im Editor an, brauchst Du bei der Wiedergabe die Szene nur mit den neuen Werten darstellen.
So far... ich hoffe, ich habe Dich nicht ganz mißverstanden. Generell eine bitte: Gebt immer an, welche API Ihr verwendet oder verwenden wollt. Dies erlaubt einem wesentlich konkreter zu antworten.
"Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."