public MCBaseSprite CreateAlphanumericSprite(string name, int w, int h, MC_ANC useFlgsANC) { string spriteName; //--------------------------------------------- //! テクスチャースの読み込み //--------------------------------------------- MCBaseTexture txISP; string str = ""; if (!App.ImageMgr.GetTexture(name, out txISP)) { txISP = MCTexture.CreateTextureFromFile( App, name, name ); if (txISP == null) { str = "スプライト作成で、テキストテクスチャ[" + name + "]からテクスチャ作成失敗しました。"; throw new Exception(str); } } MCTexture txSP = (MCTexture)txISP; str = "Alphanumericプライト作成で、2Dテクスチャでないテクスチャーを取得した。"; Trace.WriteLine(str); return(null); // { str = name + "_" + w + "_" + h + "_" + useFlgsANC; spriteName = str; } //--------------------------------------------- //! スプライト登録 //--------------------------------------------- MCBaseSprite spriteData; if (!App.SpriteMgr.GetSpriteData(spriteName, out spriteData)) { MCAlphanumericSprite sp; if ((sp = MCAlphanumericSprite.CreateSprite(App, spriteName, txISP, w, h, useFlgsANC)) == null) { throw new Exception("固定英数字プライト作成失敗[" + spriteName + "]。"); } spriteData = sp; } m_spriteMgr.Add(spriteData, true); return(spriteData); }
/// <summary> /// デバイス作成時の処理 /// </summary> /// <returns></returns> internal int OnCreateDevice(SharpDX.Direct3D11.Device device) { MCBaseTexture tmpTx; //---- イメージの読み込み if (!App.ImageMgr.GetTexture("AsciiStringDraw", out tmpTx)) { m_asciiTx = (MCTexture)MCTexture.CreateTextureFromFile( App, "AsciiStringDraw", "UtilSharpDX.Resources.ascii.png" ); if (m_asciiTx == null) { throw new Exception(); } } else { throw new Exception(); } //---- MCBaseSprite tmpSprite; if (!App.SpriteMgr.GetSpriteData("AsciiStringDraw", out tmpSprite)) { m_asciiSprite = MCAlphanumericSprite.CreateSprite( App, "AsciiStringDraw", m_asciiTx, 12, 12, MC_ANC.STR_ALL ); if (m_asciiSprite == null) { throw new Exception(); } } else { throw new Exception(); } return(0); }
/// <summary> /// 解放処理 /// </summary> internal void OnDestroyDevice() { m_asciiTx = null; m_asciiSprite = null; m_Texts.Clear(); }