Ejemplo n.º 1
0
 //* -----------------------------------------------------------------------*
 /// <summary>予約された描画処理を実行します。</summary>
 public void update()
 {
     LIST_DRAW.Sort();
     foreach (CDrawInfoBase __info in LIST_DRAW)
     {
         changeMode(__info);
         if (__info.GetType() == typeof(CDrawInfo))
         {
             CDrawInfo info = ( CDrawInfo )__info;
             spriteBatch.Draw(info.texture, info.destinationRectangle,
                              info.sourceRectangle, info.color, info.fRotation,
                              info.origin, info.effects, info.fLayerDepth);
             GRAVE_DRAW.Enqueue(info);
         }
         else
         {
             CDrawStringInfo info = ( CDrawStringInfo )__info;
             spriteBatch.DrawString(info.spriteFont, info.text,
                                    info.position, info.color, info.fRotation, info.origin,
                                    info.scale, info.effects, info.fLayerDepth);
             GRAVE_STRING.Enqueue(info);
         }
     }
     changeMode(null);
     LIST_DRAW.Clear();
 }
Ejemplo n.º 2
0
        //* -----------------------------------------------------------------------*
        /// <summary>描画処理を予約します。</summary>
        ///
        /// <param name="spriteFont">スプライトフォント テクスチャ</param>
        /// <param name="text">描画したいテキスト</param>
        /// <param name="pos">座標</param>
        /// <param name="color">色</param>
        /// <param name="fRotate">回転(ラジアン)</param>
        /// <param name="origin">原点座標</param>
        /// <param name="scale">拡大率</param>
        /// <param name="effects">反転効果</param>
        /// <param name="fLayer">レイヤ番号</param>
        public void add(
            SpriteFont spriteFont, string text, Vector2 pos, Color color, float fRotate,
            Vector2 origin, Vector2 scale, SpriteEffects effects, float fLayer
            )
        {
            CDrawStringInfo info =
                GRAVE_STRING.Count > 0 ? GRAVE_STRING.Dequeue() : new CDrawStringInfo();

            info.spriteFont  = spriteFont;
            info.text        = text;
            info.position    = resolution == null ? pos : pos * resolution.scaleGapFromVGA;
            info.color       = color;
            info.fRotation   = fRotate;
            info.origin      = origin;
            info.scale       = resolution == null ? scale : scale * resolution.scaleGapFromVGA;
            info.effects     = effects;
            info.fLayerDepth = fLayer;
            LIST_DRAW.Add(info);
        }