• XNA开发中的关键函数总结


    此为原创,转载请注明作者和出处,谢谢!

    首先在draw这个循环中:

     1spriteBatch.Draw(textureTransparent,
     2                         new Vector2(Window.ClientBounds.Width / 2,
     3                             Window.ClientBounds.Height / 2),
     4                             null,
     5                             Color.White,
     6                             0,
     7                               Vector2.Zero,
     8                             1.5f,
     9                             SpriteEffects.FlipHorizontally,
    10                       0);

    以下是对个参数的解释

    Texture        Texture2D     要绘制的纹理。

    Position        Vector2      绘制图像的左上角坐标。

    SourceRectangle    Rectangle     允许您绘制原始图像的一部分,这里使用null。

    Color         Color         染色颜色。

    Rotation        float      旋转图像,现在使用0。

    Origin         Vector2      指定旋转的参照点。现在使用Vector2.Zero。

    Scale         float       缩放比例,使用1代表按照原始尺寸绘制,1.5f表示放大图  像到150%。

    Effects        SpriteEffects   使用SpriteEffects枚举来垂直或水平翻转图像。

    LayerDepth        float       允许您指定图像的层叠次序(哪张图像在其他图像之上。现  在使用0.

    关于绘制图片的spriteBatch有这样的解释

    SpriteBatch.Begin重载方法参数列表
    SpriteBlendMode    决定精灵颜色怎样和背景色混合,有三个模式:

               •None:不进行颜色混合。

               •AlphaBlend:使用alpha值进行混合。这是默认模式,并开启透明效果,像之前提到的,如果您有带透明背景的图像,就应该使用                                    AlphaBlend。

               •Additive:将精灵颜色和背景颜色进行混合。

    SpriteSortMode     定义渲染精灵的排序模式,有五个模式:

                     •Deferred:精灵不会被绘制直到SpriteBatch.End被调用。然后End以它们被调用的次序送到图形设备中。在这个模式下,

                                       操作多个SpriteBatch对象时可以让Draw调用不会产生冲突。这是默认模式。


               •Immediate:Begin调用会立即设置图形设备,Draw调用会立即进行绘 制。同一时间只能有一个SpriteBatch对象被使用。

                                                  这是最快的模式。  


               •Texture: 和Deferred模式一样,但是精灵在绘制之前按照纹理进行排 序。

                       •BackToFront:和Deferred模式一样,不过精灵按照层深度参数从前往后 排序。

                       •FrontToBack:和Deferred模式一样,不过精灵按照层深度从后往前排序。

    SaveStateMode   定义保存图形设备状态的模式,有两个模式:

                    •None:不保存设备状态。

                     •SaveState:图像设备状态的状态在Begin调用后被保存,在End调用后 被恢复。


    XNA的Game类有一个叫做TargetElapsedTime的属性用来告诉XNA在每次Game.Update调用之间要等待多久。本质上这个属性表示每个帧之间的时间间隔。默认情况下这个值被设为1/60秒,也就是帧速度为60fps。

    Update和Draw方法都有的GameTime对象参数,有一个叫做IsRunningSlow的布尔类型的属性。您能在任何时候在这两个方法中检查IsRunningSlow的值。如果值为true,XNA不能跟上您指定的帧速率。在这种情况下,XNA会进行跳帧尽力达到您期望的速率


     

  • 相关阅读:
    JavaScript的MVC模式
    【收藏】关于团队合作的css命名规范
    【推荐】前端资源推荐
    JavaScript完美验证URL正则
    【原创】JavaScript中的cookie学习
    jquery实现无限滚动瀑布流实现原理
    常用浏览器本地存储的几种方案对比
    事件触发的一个细节设计
    IE6中fixed抖动问题的解决(完美无副作用版)
    Web开发者不容错过的20段CSS代码
  • 原文地址:https://www.cnblogs.com/315358525/p/1503117.html
Copyright © 2020-2023  润新知