Einfache frage zu Model-View-Controller concept
-
Hallo.
(Keine Ahnung wie ich das in Google eingeben soll, also)Angenommen ich habe View, meinen Renderer. Der kann einzelne pixel aufmalen mit einer eigenen funktion setPixel(x,y,color).
Jetzt will ich so was wie ne kleine simulation machen, deshalb habe ich in Controller eine Klasse Physics: die enthält physicsStep().
^Einfach, ok^Jetzt aber:
Meine View redert ja alles. Meine Simulation simuliert einzelne Elemente, wie zB Wasser(ein blauer Pixel) oder Sauerstoff(90% transparent, milchig blau und Blur't alles um sich (so in etwa wie Win7)(<--Plane ich hinzuzufügen)).Sollte ich dann einfach ein Element[][] array an View passen? Wenn ja, weiteres problem: ich habe alles in chunks, um die map unendlich zu machen. Da will ich jetzt wirklich nicht durch die ganzen chunks durchwühlen und alles jedes frame in ein Element[][] eintragen... Chunks an sich darf ich ja nicht passen...
Ums kurz zu fassen: Bin durch die einfachheit von View verwirrt. =S
-
Nein. So, wie du es beschreibst, ist dein Elementarray das Model. Dann ist der Controller dafuer zustaendig, ueber dessen Elemente zu iterieren und die entsprechenden Pixel im View zu setzen.
-
EDIT: Bin auch so ein undankbarer Kerl: Danke für die Antwort Dasd. Glückwunsch zum 1000. Beitrag!
Also ist View nicht so viel wie ein Renderer, sondern GUI? (Buttons, ListBoxes, MessageBoxes, etc?).
Ich hatte gestern kein Internet, in der zwischenzeit habe ich das so gelöst:
Die Map enthält "Pixies" (die Klasse heist auch "Pixie").
"Pixie" ist ein Partikel. Es implementiert die Interfaces (Filter, hihi) "PixieRender" und "PixieReact".(die Map hat auch ein interface "MapRender", mit nur einer einziger Funktion getrPixie(x y).
Ich plane auch MapReact hinzuzufügen, welche Funktion getaPixie(x y).
Gute lösung? Also, ich "Filtere" die die unnützten funtionen aus, so kann View nicht auf Model's funktionen von Controller zugreifen =D.