作者teexit (獃獃)
看板GameDesign
标题Re: [程式] XNA 字串 和 3D物件
时间Tue Dec 1 08:38:54 2009
※ 引述《wa007123456 (大笨羊)》之铭言:
: 我的3D物件
: 会把我的字挡掉...
: 但是我希望我的字是在前面的
: 要怎麽改...
: 3D物件有图层深度吗?@@
: 好像没有
: 感谢回答><
我现在不太确定你的问题是不是这样,不过可以参考看看
下次如果有问题感觉有图片可以看到结果会更好XD
--------
1. 如果你是用SrpiteBatch中的DrawString,那你在spriteBatch.Begin中
需要储存现在的render state,因为2D的render方式,会修改一些
Render state,像是他会关闭Z Buffer之类的,储存状态的方式就是,
spriteBatch.Begin中的参数,第三个可以设定是不是要储存。
spriteBatch.Begin(SpriteBatch.Begin (SpriteBlendMode,
SpriteSortMode, SaveStateMode);
http://msdn.microsoft.com/en-us/library/bb203919.aspx
用spriteBatch begin会改的设定,因为有些人认为存取设定...会花费时间
所以去手动更改就好。 建议你可以去看看,了解一下会比较好。
2. 如果是Quad贴图的方式的话,就是你的顺序问题了,这个Quad要最後面
在画。
3. XNA 提供GameComponent,可以让设定更新顺序,以GameComponent来说
,里面可以设定属性UpdateOrder。(因为除了GameComponent以外还有
一个DrawableGameConponent),而设定的值越低,优先权越高。
--------
以上做法希望对你有用
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.110.217.214
※ 编辑: teexit 来自: 123.110.217.214 (12/01 08:42)