2012-06-06 265 views
1

我讀this文章使用在遊戲開發MVC設計模式,我很樂意給它一個去,但我對如何動態地創建MVC對象有點困惑。在文章中他們正在談論射擊遊戲的創作,但我不明白的是一名士兵如何投擲手榴彈。士兵模型很容易創建一個手榴彈模型,但是如果沒有士兵模型必須知道手榴彈mvc的視圖和控制器,視圖和控制器將如何建立?動態創建MVC對象

回答

1

恕我直言,我覺得你採取了錯誤的方式..

每場比賽有一個板或地圖。
您的地圖「模型」應該是創作的管絃樂隊。

所以如果一個士兵投擲手榴彈:
1.你的ui-controller(或者solider控制器)發射一個投擲手榴彈的事件。
2.您的地圖模型獲取該事件並創建拋出手榴彈的模型。
3.當榴彈飛行應該收到從地圖關於逝去等。
不久把障礙物信息 - 地圖是地圖上所有可見對象的樂團。
關於該視圖被描述爲「EntityRepresentation」或在我的文字映射中的文章通知。
它不是一個嵌套的MVC模式,因爲您期望在富客戶端應用程序中找到它。 祝你好運! :)

+0

文章的作者是一種足以在幾封電子郵件是如何工作的解釋,和你說的是完全正確的。 「'在我們的代碼,當實體加入到了EntityManager的RepresentationManager得到通知(也可能是對EntityManager的一個通用的聽衆)。然後它創建EntityRepresentation。 因爲你會使用工廠模式。喜歡的東西: 地圖= {{ 「實體」, 「EntityRep」},{ 「EntityA」, 「EntityARep」}, ... } RepresentationManager :: OnEntityAdded(實體* E) { 串rep_type = map [e-> GetType()]; EntityRep *代表=出廠>創建(rep_type) ... }'」 – Joe