zoukankan      html  css  js  c++  java
  • 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会进行跳帧尽力达到您期望的速率


     

  • 相关阅读:
    Robberies HDU 2955
    P1474 货币系统 Money Systems(完全背包)(大水题)
    P1802 5倍经验日(01背包问题,水题)
    1621 花钱买车牌 (暴力一下就非常皮了)
    统计硬币 HDU 2566 (三种解法:线性代数解法,背包解法,奇思妙想解法 >_< )
    P1754 球迷购票问题
    Duwamish模式的Remoting注意事项(Remoting高手可以不必看了)
    Visual source safe 每日备份
    python第一篇
    pycharm的安装和使用
  • 原文地址:https://www.cnblogs.com/315358525/p/1503117.html
Copyright © 2011-2022 走看看