Re: [程式] XNA 關於class的問題

看板GameDesign (遊戲設計)作者 (大笨羊)時間15年前 (2010/08/15 17:38), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《madturtle (旅者‧愚人‧夢想家 )》之銘言: : 我是看這邊的教學: : http://creators.xna.com/en-US/education/gettingstarted/bg3d/chapter1 : 用他最後一章的原始碼改出了一個TPS的操作。 : 現在的問題是: : 有辦法在GameObject這種類別中,加入Update()、Draw()這類method嗎? 你的程式碼已經繼承 DrawableGameComponent 如果要加入的話可以加入下面的程式碼 public override void Draw(GameTime gameTime) { //繪圖 base.Draw(gameTime); } public override void Update(GameTime gameTime) { //邏輯運算 base.Update(gameTime); } 然後Game1主程式裡面要加入你的Component public Game1() { ........ this.Components.Add(myComponent); //myComponent 是你的新元件 } 這樣子你的元件就會一起跟主程式繪圖 邏輯運算....等等 很方便吧!! 最重要的是這個元件你可以帶著到處走 例如:你今天寫了一個有網格的元件 就可以直接用到其他的遊戲程式上面!! : 例如把敵人的參數及行為全部編成另一個class。 : 教學中的GameObject類別,好像只用來宣告參數, : 玩家、敵人的動作都是寫在主程式裡, : 不過這樣物件一多就會亂掉吧。 : 還有在新類別中,可以直接讀取模型嗎? : public Model model = null; : model = Content.Load<Model>("Models\\enemy"); 不可以直接讀取 一樣要在LoadContent裡面使用 像是: protected override void LoadContent() { model=Game.Content.Load<Model>("enemy"); base.LoadContent(); } 注意!我用的是主程式Game的Content : 這樣寫它都說「名稱'Content'不存在於目前內容中」。 : 但是主程式裡也沒宣告Content,卻可以用? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.226.13.45

08/15 17:58, , 1F
感謝!等下去試試
08/15 17:58, 1F

08/15 18:04, , 2F
不會@@ 不過我好像有點寫錯了 囧 我在想一下
08/15 18:04, 2F
補充一下: LoadContent也是在新的元件裡面覆寫的@@ ※ 編輯: wa007123456 來自: 125.226.13.45 (08/15 18:44)

08/15 20:10, , 3F
原來是這樣啊.....我之前都手動LoadContent.....
08/15 20:10, 3F

08/16 01:23, , 4F
可以用了,感謝
08/16 01:23, 4F
文章代碼(AID): #1CPxL-Tm (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #1CPxL-Tm (GameDesign)