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会进行跳帧尽力达到您期望的速率


     

  • 相关阅读:
    jquery-ui.min.js:5 Uncaught TypeError: b.nodeName.toLowerCase is not a function
    HTTP::Request
    LWP::UserAgent
    perl json模块
    perl 处理perl返回的json
    perl中 wx返回的json需要encode_utf8($d);
    perl malformed JSON string, neither tag, array, object, number, string or atom, at character offset
    encode_json 会对给定的Perl的数据结构转换为一个UTF-8 encoded, binary string.
    为什么出现Wide character in print at a14.pl line 41
    perl encode_json 会产生 UTF-8 (binary) string decode_json 需要一个 UTF-8 (binary) string
  • 原文地址:https://www.cnblogs.com/315358525/p/1503117.html
Copyright © 2011-2022 走看看