看板 GameDesign 關於我們 聯絡資訊
※ 引述《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
madturtle:感謝!等下去試試 08/15 17:58
wa007123456:不會@@ 不過我好像有點寫錯了 囧 我在想一下 08/15 18:04
補充一下: LoadContent也是在新的元件裡面覆寫的@@ ※ 編輯: wa007123456 來自: 125.226.13.45 (08/15 18:44)
SDNiceBoat:原來是這樣啊.....我之前都手動LoadContent..... 08/15 20:10
madturtle:可以用了,感謝 08/16 01:23