XNA中的显示
来源:互联网 发布:php 7 编程实战 pdf 编辑:程序博客网 时间:2024/06/05 10:00
XNA中的显示可分为2D图片的显示和模型的显示。
1、2D图片的显示
XNA中2D图片是通过精灵(SpriteBatch)来显示的的。
(1)、在类中声明精灵对象
SpriteBatch spriteBatch;
(2)、在LoadContent函数中构造精灵对象、加载2D图片信息
spriteBatch = new SpriteBatch(GraphicsDevice);
(3)、在Update函数中根据输入信息计算模型的屏幕坐标及旋转角度
(4)、在Draw函数中通过spriteBatch显示myTexture信息
spriteBatch.Draw(myTexture, spritePosition, null, Color.White,
2、字体的显示
XNA中字体的显示与2D图片的显示一样,也是通过SpriteBatch类实现的。
public void DrawString (
SpriteFont spriteFont, /*字体*/
string text, /*输出字符串*/
Vector2 position, /*显示位置*/
Color color, /*颜色*/
float rotation, /*旋转*/
Vector2 origin, /*原点*/
Vector2 scale, /*缩放*/
SpriteEffects effects, /*特效*/
float layerDepth /*深度*/
)
显示字符串时,首先按照与2D图片显示相同的方法声明并初始化SpriteBatch对象,之后通过该对象的DrawString方法显示字符串。
spriteBatch.DrawString(spriteFont, "hello world !",
new Vector2(10, 20), Color.White);
3、3D模型的显示
XNA中3D模型的显示是通过遍历并显示该模型的ModelMesh来实现的
foreach (ModelMesh mesh in model.Meshes)
{
/*设置mesh的特效*/
foreach (BasicEffect effect in mesh.Effects)
{
/*投影变换*/
effect.World = world * boneTransforms[mesh.ParentBone.Index];
effect.View = camera.View;
effect.Projection = camera.Proj;
/*灯光效果*/
effect.LightingEnabled = true;
effect.DiffuseColor = new Vector3(
effect.AmbientLightColor = new Vector3(
/*雾化效果*/
effect.FogEnabled = true;
effect.FogStart = 6000;
effect.FogEnd = 10000;
effect.FogColor = Color.CornflowerBlue.ToVector3();
}
/*显示mesh*/
mesh.Draw();
}
- XNA中的显示
- XNA中文显示学习
- XNA中文显示学习
- 让XNA显示中文
- XNA中的摄像机
- XNA中的RenderTarget
- XNA中的骨骼动画
- XNA中的骨骼动画
- XNA中的Matrix结构
- XNA中的Alpha混合
- XNA下的中文显示
- xna中制作显示中文字体
- XNA实现三维显示-多视口
- XNA在Silverlight 中的应用
- XNA数学库中的XMVECTOR
- XNA
- XNA
- 用XNA显示GPU系统信息
- IoGetDriverObjectExtension反汇编码及伪码
- silverlight是什么?
- 完成端口
- JavaScript将成Silverlight的最大对手
- .NET中的虚函数
- XNA中的显示
- XNA中的摄像机
- 微软借奥运与Adobe争夺富互联网应用统治地位
- XNA中的拾取与碰撞检测
- 我们一起快乐,一起流泪以后......
- 解决Ubuntu 8.0在vmware中不能上网问题
- 一个高效率算法
- Tweening过度缓动效果
- mvc设计模式