Jetzt mal nicht vom Thema ablenken.
Streng genommen ist das kein Stein, ist ja nur ein Abbild eines Steines
Und dann hat der Eisbär natürlich Recht, es gibt viele Sorten von Stein.
So wie es Suppenwürste, Käsewürste und Würste aus Wurst (Fleisch) gibt
Zurück zum Thema. ... >>>>>>>>>>>>>>>>>>>>>>>>>>
Das EbenenManagement und die gesamte Verwaltung der Objekte und Sprites,
müsste wohl überarbietet werden. Ich würde verschachtelte LinkedLists nehmen,
wenn ich welche härtte.
Die Frage ist auch, wie man das Konzept der Kinder und Eltern löst.
Also HauptObjekt und angeklebte Objekte. Die wieder angeklebte Objekte
haben können.
Ich dachte erst an eine Rekursion, aber diese kann schnell zu Fehlern führen,
deshalb hatte ich mich entschieden alle Kinder eines Objektes immer
an die Eltern zu übergeben. So sind zwar die Informationen doppelt/mehrfach im Speicher
und es müssen eben auch die Operationen an Kindern und Elternobjekten
jeweils seperat durchgeführt werden,
doch wie gesagt, das schien mir die sicherste Methode zu sein.
Wie genau man die Maus berücksichtigt oder die Benutzung zulässt,
müsste auch noch geklärt werden.
Ich würde sie auf jeden Fall genauso wie auch den Hintergrund als Objekte
verwalten. Ob man nun spezielle Namen für Maus und Hintergrund einführt,
oder extra Funktionen/Prozeduren/Methoden, müsste man auch durchdenken.
Das Ebenenmanagement müsste ebenfalls überarbeitet werden, es sollte
sich selbst besser verwalten. Bei Drag'n'Drop Operationen müssten
die Objekte automatisch nach vorn kommen, sollten aber immer
unter dem Mauszeiger bleiben.
Und hier ist nun das Problem, wie löst man es einfach, aber auch sinnvoll
in der Benutzung, dass man Objekte auch über den Mauszeiger stellen kann,
aber in der Regel die Objekte unter dem Mauszeiger liegen.
Die Ebenenverwaltung muss sich also drum kümmern, dass Standardaufrufe
immer den Mauszeiger als höchstes einstufen. Eventuell müsste man
hier noch eine Prüfung durchführen, ob etwas zu einem Mauszeiger gehört oder nicht.
Beispiel:
Drag'n'Drop Objekte wie Icons, Fenster, verschiebbare Einheiten, Bilder
sind unter dem Mauszeiger
Aber es könnte auch sein, dass man etwas über dem Mauszeiger
anordnen möchte, das kann auch ruhig komplizierter sein, weil es ja nicht
die Regel sein wird.
Dabei denke ich an Tooltips, Sanduhren, Animierte Mauszeiger, Mausschwänze ...
Alles Dinge, auf die man verzichten könnte. Oder die man auch anders
lösen kann.
Das Aussehen des Mauszeigers sollte dann eventuell doch durch verschiedene
Kostüme realisierbar sein. Was ja auch bei Buttons (MouseOver-Effekt)
ne Rolle spielen kann, oder bei Einheiten, die dann heller werden,
oder ihre Farbe ändern, wenn sie markiert sind.
Oder ein bewegter Held, der einfach verschiedene Bewegungsphasen in Bildern hat.
>>>>>>>>>>>>>>>>>>>>>>
Hier wäre auch wieder die Frage, wie realisiert man verschiedene Kostüme.
Entweder als Filmstreifen abgelegt je Objekt und dann mit GrapSprite()
oder ähnlich ...
Oder als einzelne Sprites in einer Liste je Objekt.
Vorteil bei der Liste wäre, dass man auch Bilder einfach rauslöschen kann,
ohne Bilder neu zeichnen zu müssen oder man hat halt viele grafische
Operationen.
Und ein Vorteil wäre, man könnte unter Umständen verschieden große
Kostüme zulassen. Hier wäre auch die Frage, ob man das zulassen möchte.
Man könnte auch jedes Objekt automatisch animieren lassen und
in einem bestimmten Zeitintervall die einzelnen Kostüme abrufen.
Die Animation kann ausgeschaltet werden oder es hat keinen Einfluss,
wenn man nur ein Kostüm pro Objekt hat.
Wenn wir an StrategieSpiele denken, müsste man auch verschiedene
Animationen zulassen pro Objekt.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Zurzeit müsste man sich um die Animationen noch selbst kümmern,
da jedes Objekt nur ein Sprite beinhaltet. Mann kann sie unsichtbar machen
oder sichtbar.
Eine Kompatibilität zu "AnimSprite" würde ich für sinnvoll halten.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Eine entscheidende Sache wäre noch die Ansteuerung der Grafik.
Entweder: oben links ist 0,0 und unten rechts ist Max, Max
Oder
in der Mitte ist 0,0 ; oben rechts ist Max, Max ; unten rechts ist Max, Min
unten links ist Min, Min; oben links ist Min, Max
Werden die Koordinaten per Ganzzahl angegeben oder per Float?
Und hier kommen wir nun zur Auflösungsfrage.
Erstmal muss die Engine stehen, bevor man ZoomSprite benutzt,
würde ich sagen. Dazu kommt, dass ZoomSprite leider nicht überall
richtig funktioniert. Und es wird ein 3D-Sprite benötigt.
Dies müsste man in der Spriteverwaltung berücksichtigen.
BrainStorming
Und hier seid ihr mit eurem Expertenwissen gefragt,
ich hab halt nur ne Idee mit Vorstellung und ich weiß auch,
dass es realisierbar sein muss. Sonst würde es ja auch keine
Unreal3 Engine geben
