看板 GameDesign 關於我們 聯絡資訊
※ 引述《F23ko (純潔)》之銘言: : 但我不知道XNA有沒有現成的函式可以用 : 如果有現成的函式的話,希望望能獲得關鍵字 : 如果沒有的話,希望能提示該從哪個方向下手 : 另外,我在兩本書上看到的繪圖方式 : 2D方面都是貼圖上去 : 3D則是畫三角形拼出形狀,再貼圖上去 : 似乎沒看到直接畫出圖形的辦法 : 像是WindoesFrom的System.Drawing.FillEllipse()之類的..... : 換句話說,如果我想畫出圓形之類的簡單圖形,那就得畫出一堆頂點 : 再透過投影矩陣換算後才會出現在螢幕上 : 那,若我要製作一個選單,甚至HP條之類的東西 (就是幾個長方形的簡單圖形) : 該不會都要經過投影或是貼圖吧? : 有沒有2D狀況下可以直接在螢幕上繪圖的辦法? 1. 針對於RTT的部分... XNA有一個物件叫做RenderTarger2D,宣告完畢以後初始化它 EX: RenderTarget2D renderRT; ..... renderRT = new RenderTarget2D(GraphicsDevice, width, height, 1, Surface Format.Color); 第1-3的參數我就不說明了 第四個印象中沒記錯的好像是用來建立一些filter 圖層,至於SurfaceFormat這邊,可以參照XNA MSDN... 因為用途不同所需要的就不一樣~(這很重要~~!) 接下來就是在Draw的函數 GraphicsDevice.SetRenderTarget(0, renderRT); // 畫東西~~~ GraphicsDevice.SetRenderTarget(0, null); 如果你想要知道他畫了哪些東西在RT裡面,你可以用spriteBatch + RT所提供 的getTexture() 方法 EX: spriteBatch(); spriteBatch.Draw(renderRT.getTexture(), Vector.Zero, Color.White); spriteEnd(); 至於你有這些texture以後,你接下來做的事情就是影像處理... 你可以把他銳化或做一些而外效果 不過這邊就是HLSL的地方(建議用HLSL去做,你用CPU去算這個...-.-) http://www.neatware.com/lbstudio/web/hlsl.html 上面有些HLSL在影像處理的運用範例,不過網路上還有更多,可以GOO看看 RenderTarget蠻不錯用的像是可以用來做Deferred shading~ 至於你說的第二個問題 HP顯示,你有兩個做法 1. 自己畫Quad然後指定貼圖座標,就把他當作texture mapping一樣來做 (這方面可以好好研究) 2. 使用XNA的spriteBatch來畫... (2D這邊我應該不用講很多,不過spriteBatch.begin這邊有個參數要注意 就是第三個,我有點忘記了名字了,不過就是選擇要saveState) (原因是因為spriteBatch呼叫以後,他會去變動一些graphicsDevice的設定 ,網路上面有說用saveState的方式,執行效能會降低,建議手動調整) http://0rz.tw/pfpA8 可以參考看看 以上僅供參考 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.189.43
F23ko:感謝先 我需要花一點消化一下內容 04/21 22:01
F23ko:等等.... 看到一個關鍵字 XNA MSDN? 有這個東西喔? 04/21 22:05
F23ko:我知道微軟的msdn.... 04/21 22:05
F23ko:還在想說在上面都找不到xna的組件說明很麻煩.... 04/21 22:06
teexit:英文還OK的畫建議看英文的 XNA這邊我記得沒錯沒有中文版 04/21 22:08
F23ko:http://ppt.cc/pE_g 這個? 04/21 22:24
F23ko:直接把函式、物件名稱打進去,找不到這裡面的東西 @@ 04/21 22:25
F23ko:我的英文很糟糕 還需要把快顯註解的xaml掏出來翻譯才能看的 04/21 22:26
F23ko:懂 = = 04/21 22:27
help0430:http://ppt.cc/Oy1y 沒錯~沒有中文版~恨! 04/21 22:27
F23ko:=口=||| 我xna3.1還沒學熟熟 4.0就出了!? 04/21 22:29
teexit:是上面的沒錯XD 不過有些東西 你還是要多看才去找函數 04/21 22:30
teexit:這樣才比較好... 04/21 22:31
teexit:4.0 Content比較麻煩... 不過4.0最大改變就是多了WP7 04/21 22:31
teexit:所以現在可以做WP7上面的遊戲 (window phone 7) 04/21 22:31
changyin:RenderTarget2D 借問一下第三個參數的意義是類似圖層嗎? 04/22 11:42
teexit:我印象中0是說建mipmap的層次 04/22 12:41
changyin:請問樓上XNA裡的InputSequencExample如何使用在3D遊戲裡 04/24 15:35
changyin:我要使用double jump人物要跳起來程式碼是要加在哪個地方 04/24 15:38
changyin:有沒有像惡魔獵人那種輸入方式可以實作的?或有甚麼演算法 04/24 15:41
teexit:這部分我沒有設計過,不過直覺想的話,就是把他放在控制 04/24 17:26
teexit:控制腳色操作的地方應該就可以了...(那個範例我沒特別去看) 04/24 17:26
teexit:不過我有看到他的說明文件裡面有說要怎麼使用 04/24 17:27
changyin:有關他的MOVE.CS裡 有一段game might add PerformMove() 04/24 17:57
changyin:他的意思是甚麼? 04/24 17:57
teexit:現在有個很重要的問題是 我並沒有trace這個CODE 所以這部分 04/24 19:32
teexit:的問題我比較沒有辦法回答你,如果真的很急需要答案 04/24 19:33
teexit:你可以到creator club問一下會比較快 04/24 19:33
teexit:不過猜 剛剛看了一下game.cs 他裡面有一個move相關的初始化 04/24 19:34
teexit:我再想會是他要你可以自己寫一個函數,來去做這些Move相關 04/24 19:35
teexit:的事情!? 像是一些操作,會是設定等等 我目前推測是這樣 04/24 19:35
teexit:他下面update那邊有很多檢查,所以我才這樣猜 04/24 19:35