Jeg synes du bør kalde dem rekursivt som node.render(). F.eks. har du et hus-node. Under den der er der en dør-node, et vindue-node osv.. På den måde sikrer du at huset bliver tegnet helt før noget andet tegnes og undergår dermed at forskellige del af nodes laver rod med hinanden. Hus-noden har ansvaret for at have sin børn i den rigtige rækkefølge. F.eks. tegnes mur-noden før døren og vinduet. Døren kan sørge for at dens baggrund tegnes før håndtaget osv..
At have det i renderen er for meget den skal holde styr på. Hver gang du laver en ny slags node skal du sørge for renderen har den indsat i den rigtige rækkefølge. At renderen skal vide alt dette lægger for meget ansvar på en klasse. Den skal bare have at vide hvilke top-nodes f.eks. hus, have, flagstand, den skal tegne.
På denne måde kan du også tegne en dør-node uden en bestemt hus-node hvis du skulle få brug for det eller bruge den samme dør-node til forskellige huse.
Indlæg senest redigeret d. 31.08.2011 00:08 af Bruger #14645