| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2011
Beiträge: 30
| Aufgaben von Model, View und Controller in Adventure
Hi ich entwickele aktuell an einem Adventure-Spiel und versuche das MVC-Pattern nach besten Gewissen anzuwenden. Jetzt wollte ich mich aber nochmal Rückversichern welche Funktionalitäten von vom implementiert werden sollte (Model View oder Controller). Ich habe nämlich das Gefühl zu viel Verantwortung auf die View zu legen und zu wenig aufs Model. Also zum Beispiel. Mein Spiel umfasst 2 Screens. Einen Startscreen und einen Spielscreen. Hier erstmal was man so machen kann: 1. Ein Hintergrundbild wird angezeigt. Wenn man mit der Maus zur Seite kommt, scrollt das Hintergrundbild ein Stück. 2. Auf dem Hintergrund-Sprite werden visuelle Komponenten plaziert (Objekte zum Einsammeln). 3. Eine Instanz des Inventars wird angezeigt. 4. Wenn man manche Objekte aus 2.) anklickt wird eine Animation dieser Objekte oder ein Sound abgespielt. 5. Wenn man andere Objekte aus 2.) anklickt werden diese aus der Szene entfernt und stattdessen im Inventar verwaltet. 6. Wenn man wiederum andere Objekte aus 2.) anklickt werden andere Objekte freigeschaltet, d.h. diese Objekte erhalten ebenfalls eine Klick-listener. 7. Beim Klick auf einen Zurückbutton wird ein Event dispatched, dass veranlasst, dass der Startscreen angezeigt wird. Wo muss welcher Code hin? Also alle visuellen Komponenten instanziiere ich derzeitig in der View, auch wenn diese Objekte (z.b. das Inventar) nicht nur einfach Sprites sind, sondern zusätzlich auch noch andere Methoden, z.b. zum Verwalten von Objekten in einer Liste beinhalten. Dementspechend registriere ich auch alle Event-Listener in der View. Wo kommen die Listener-Funktionen hin? Ich dachte vll in den Controler, aber es wäre irgendwie unsinnig wenn die Listener-Funktion dann nur eine Animation startet. Was würde man im Model machen?? Ich könnte mir höchstens vorstellen Status zu speichern ob ein Objekt schon freigeschaltet ist, oder noch nicht?? Hoffe jemand ist so nett mich ein bisschen einzuweisen. Danke! |
| | |
| | #2 (permalink) |
| Developer Registriert seit: Sep 2001 Ort: Unterhaching/München
Beiträge: 513
|
Hallo. Viel Spass beim Entwickeln des Adventures. Im Model sollte der anwendungsweite Zustand gespeichert werden. Hat der Inhalt des Inventars über mehrere Views (also mehrere Schauplätze in deinem Spiel) Gültigkeit, dann speichere das im Modell. Gibt es in einer Ansicht eine Funktion, die den Ablauf in einer anderen Ansicht steuern (Betätigen eines Hebels, Ablegen eines Steins auf einer gewichtssensitiven Bodenplatte), speichere diesen Zustand im Model. Hast Du allerdings nur auf die View bezogene Abläufe innerhalb eines Screens, dann kannst Du den Zustand auch in der View selber speichern - wenn sie keinerlei externe Auswirkung hat. Wenn Du eine Vase anklickst und diese dann vom Tisch fällt sollten die Listener auf die Vase und das Starten der Animation in der View liegen. Dafür braucht es keinen externen Controller oder Mediator, der auf das Event hört und nur wieder die Funktion in der View anstößt. Generell eine gute Idee ist es, jedem Screen einen eigenen Mediator (Controller) zur Seite zu stellen, der auf Events der View hört, die für das Gesamtsystem von Bedeutung sind. Dieser Mediator kennt dein Model und kann dort die entscheidenden Werte speichern, also das Model beeinflussen. Deine View ist nur mit sich selbst beschäftigt und sendet Events, von denen sie aber nicht weiß, was im System damit passiert. Nochmal: Hast Du Events, die nur zu Änderungen in der View führen, dann bleiben auch die Listener in der View. |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2001 Ort: Berlin | Friedrichshain
Beiträge: 3.561
|
hi.. das gute alte mvc mal wieder.. ![]() es gab bereits ausschweifende diskussionen darueber, vielleicht hilft es dir weiter.. oop-anfaengerfragen gruessle // b
__________________ 8bm | join ff@BOINC formpackage.org | audiohunter.de | problematica.de | 8ball-media.de/blog | taikonauten.cn |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| mvc |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Model + Controller in Java. View in Flash? | javaFlasher | ActionScript 3 | 2 | 24-02-2010 20:39 |
| Flex Data Bindig Model<->View | Quarkus | Flex programmieren | 2 | 13-01-2010 09:54 |
| Flex DataBinding => VO aus Model an View Komponente? | quasimono | Flex programmieren | 1 | 26-05-2009 19:14 |
| [MVC] Variablen im Model über View setzen? | hedonistics | Softwarearchitektur und Entwurfsmuster | 12 | 10-12-2006 15:02 |
| Model View Controller Architektur | compuboy1010 | Softwarearchitektur und Entwurfsmuster | 51 | 08-08-2006 11:24 |